checkbox.checked in SQL-String?

30/04/2009 - 21:08 von Mario Krsnic | Report spam
Hallo zusammen,
ich versuche die Daten in eine SQL-DB so zu speichern:

SqlErstAss.InsertCommand = "INSERT INTO asesment ([IdPat], [Datum],
" & _
" MadeBy, [schwer], [erstesangegang] , GibtsErkrankungen)values "
& _
"(" & dpPatients.SelectedValue & ", " & _
"'" & Date.Now & "', '" & Session("uid") & "', '" & schwer.Text &
"'," & _
" '" & erstesangegang.Text & "'," & GibtsErkrankungen.Checked & ")"
SqlErstAss.Insert()
Es scheint so, dass sich der Wert von GibtsErkrankungen.Checked (CheckBox)
nicht so
abspeichern làßt. Ich habe etwa 40 solcher CheckBox-en und dementsprechend
40 bit Felder in
der DB. Làßt sich das Problem mit einer anderen Syntax lösen, oder mit der
Anpassung der Datenbank?
Bitte um Rat!
Gruss
Mario
 

Lesen sie die antworten

#1 Gerold Mittelstädt
30/04/2009 - 21:49 | Warnen spam
Hallo,

Mario Krsnic schrieb:
Hallo zusammen,
ich versuche die Daten in eine SQL-DB so zu speichern:

SqlErstAss.InsertCommand = "INSERT INTO asesment ([IdPat], [Datum],
" & _
" MadeBy, [schwer], [erstesangegang] , GibtsErkrankungen)values "
& _
"(" & dpPatients.SelectedValue & ", " & _
"'" & Date.Now & "', '" & Session("uid") & "', '" & schwer.Text &
"'," & _
" '" & erstesangegang.Text & "'," & GibtsErkrankungen.Checked & ")"
SqlErstAss.Insert()



Böse! Böse! Böse! Böse! Böse! Böse! Böse! Böse! Böse! Böse! Böse! Böse!

Was passiert denn, wenn jemand EXEC xp_cmdshell 'format C:' -- oder
solche Scherze in "schwer" eingibt?


IMMER!!! Mit Parametern arbeiten!!!

Dim sqlCon As New SqlConnection(...)
Dim sqlCmd as new SqlCommand
...
sqlCmd.CommandText= "INSERT INTO assessment (Datum, schwer)
VALUES(GETDATE(), @MadyBy)"

sqlCmd.Parameters.AddWithValue("@schwer", schwer.Text.Trim)

...
sqlCmd.ExecuteNonQuery()


basta.


Es scheint so, dass sich der Wert von GibtsErkrankungen.Checked (CheckBox)
nicht so
abspeichern làßt. Ich habe etwa 40 solcher CheckBox-en und dementsprechend
40 bit Felder in



Mit Parametern arbeiten und gut ist. Dan wird Boolean auch richtig
umgesetzt.

der DB. Làßt sich das Problem mit einer anderen Syntax lösen, oder mit der
Anpassung der Datenbank?



Sauber arbeiten.

Bitte um Rat!



Unbedingt lesen: http://de.wikipedia.org/wiki/SQL_Injection !


Viele Grüße!

Ähnliche fragen