EINFÜGEN von Daten aus Textbox zu Postgres SQL
Ich nur noch lernen, wie die Verbindung von C# - und PostgreSQL.
Ich möchte zum EINFÜGEN von Daten aus tb1(Textbox) und tb2-Datenbank. Aber ich weiß nicht, wie man code
Meinen bisherigen code WÄHLEN Sie aus der Datenbank.
das ist mein code
private void button1_Click(object sender, EventArgs e)
{
bool blnfound = false;
NpgsqlConnection conn = new NpgsqlConnection("Server=127.0.0.1;Port=5432;User Id=postgres;Password=admin123;Database=Login");
conn.Open();
NpgsqlCommand cmd = new NpgsqlCommand("SELECT * FROM login WHERE name='" + tb1.Text + "' and password = '" + tb2.Text + "'",conn);
NpgsqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
blnfound = true;
Form2 f5 = new Form2();
f5.Show();
this.Hide();
}
if (blnfound == false)
{
MessageBox.Show("Name or password is incorrect", "Message Box", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
dr.Close();
conn.Close();
}
}
Also bitte helfen Sie mir den code.
InformationsquelleAutor user1479013 | 2012-06-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
First off, müssen Sie die
ExecuteNonQuery
Methode eher alsExecuteReader
da, die Sie ausführen, eineINSERT
eher als eineSELECT
- Anweisung. Also, so etwas wie:Den
ExecuteNonQuery
Methode wird auch wieder die Anzahl der Zeilen betroffen, wenn das ist wichtig für Sie.Zweiten, müssen Sie die Verwendung von SQL-Parametern anstatt einer unsicheren SQL-string.
Verwenden:
Um einen parameter hinzuzufügen, um Ihre Abfrage. Sie können nun finden Sie es in Ihre INSERT-Anweisung mit
:name
oder:pw
zum Beispiel:Schließlich, Sie könnten daran interessiert sein, mit einem ORM eher als das ausführen raw-SQL-Anweisungen. Ich würde check in die .NET Entity Framework oder Castle Active Record, welche auf NHibernate. Diese Bibliotheken ermöglichen es Ihnen, Abfragen, aktualisieren, erstellen und löschen von Daten in Ihrer Datenbank ohne das eigentliche schreiben von SQL-Anweisungen beteiligt. Es ist eine große Weise, begonnen zu erhalten, und einfach Ihren code ein wenig Recht!
Vielen Dank für die Erwähnung Castle Active Record, der Noch nicht davon gehört,
InformationsquelleAutor Mike Christensen