INSERT INTO mit Parameters

DerStauner

Erfahrenes Mitglied
Hi,

langsam werde ich verrückt. Man hat mir hier geraten, dass ich in meinen sql-Abfragen Parameters benutzen soll. Ok, das tat ich. Aber es funktioniert irgendwie nicht und weiss nicht, wo der Fehler liegt.

hier der Code:

Code:
cmd.Parameters.AddWithValue("@BookingDate", txtBookingDate.Text)
cmd.CommandText = "INSERT INTO Bookings(BookingDate) VALUES(@BookingDate)"
 Try
cmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message)
End Try

Wenn ich die Datenbank öffne, sehe ich in der Spalte BookingDate nur ein "1". Und der Inhalt des txtBookingDate.Text ist nicht "1", sondern ein Datum.

Ideen?
 
Was für ein Datentyp ist denn deine Spalte? Ist es denn ein DateTime? Wenn nicht, solltest du es zu einem machen und dein TextBox.Text vorher auch in eins umwandeln (DateTime.Parse)

Ich glaube auch, du kannst das "@" weg lassen, bin mir aber gerade nicht so sicher...
 
Ich glaube auch, du kannst das "@" weg lassen, bin mir aber gerade nicht so sicher...
*räusper* dann lass lieber solche Aussagen(!) Das @ gehört auf jeden Fall mit zum Parameternamen (sofern wir bei MS-SQL sind, bei andern DB'S kan es auch ein anderes Zeichen sein wie z.B : oder ? - aber das nur am Rande..)

Abgesehen davon würde ich mal diese Zeilen vertauschen, vllt bringt das ja schon was ?
Code:
cmd.Parameters.AddWithValue("@BookingDate", txtBookingDate.Text)
cmd.CommandText = "INSERT INTO Bookings(BookingDate) VALUES(@BookingDate)"
Ich habe mir angewöhnt, zuerst IMMER den CommandText =SQL-Statement zu schreiben und DANACH die Parameter mit Werten zu befüllen...

Gruss Rainer
 

Neue Beiträge

Zurück