Ein INSERT macht zwei Einträge, Warum ?
-
Hi,
Hab da mahl eine Frage zum "INSERT INTO". Ich Benutze WinXP Prof u. VISTA Ultimate, als IDE VS2005 mit c# sowie MySQL5 als Datenbank.
Mein Problem ist wenn ich im FormView einaml auf das Button "Add" klicke,
wird nicht nur ein Eintrag in der Datenbank erstellt sondern zwei !Der Eventhandler von dem AddButton sieht so aus:
private void BtnAdd_Click(object sender, EventArgs e) { // Create connection string for input data string strConnectionString = "SERVER=localhost;" + "DATABASE=test;" + "UID=root"; + "PASSWORD=xxxx;"; MySqlConnection connection = new MySqlConnection(strConnectionString); MySqlCommand command = connection.CreateCommand(); command.CommandText = "INSERT INTO terminTab (StartDate, EndDate, Titel, Color, Locked) VALUES('" + m_App.StartDate.ToString("yyyy-MM-dd HH:mm:ss") + "', '" + m_App.EndDate.ToString("yyyy-MM-dd HH:mm:ss") + "', '"strTitel.Text + "', '" + 1 + "', '" + 0 + "')"; connection.Open(); command.ExecuteNonQuery(); int iLastIndex = Convert.ToInt32(command.ExecuteScalar()); command.Dispose(); connection.Close(); }
Nach einmaligen Aufruf habe ich aber, statt einen neuen Eintrag, gleich zwei neue mit
unterschidlichen PrimaryKeys in meiner Tabelle.Warum , was mache ich den Falsch ?
mfG
Ratlos2
-
Ist zwar c# aber:
Du rust ja auch 2 Mal
Execute auf
ExecuteNonQuery
ExecuteScalarSomit 2 Inserts.
Willst du den LASTINSERT haben dann musst du schon vor ExecuteScalar eine Select als Command machen.
-
Hallo Unix-Tom,
Super Danke für Deine rasche Hilfe, jetzt funktioniert es.
Manchmal Seh ich den Wald vor lauter Bäumen nicht.
Danke!