Jak korzystać z INSERT INTO
polecenie z .NET do wstawienia zawartości zmiennej Using CommandText
.
Oto co mam:
(Po naciśnięciu przycisku)
string test = txtFirstName.Text;
comm.CommandText = "INSERT INTO Store (FirstName) Values (test)";
Liczby całkowite i łańcuchy w cudzysłowach działają, po prostu nie ze zmiennej, i potrzebuję programu, aby napisać tekst znajdujący się w polu tekstowym do bazy danych.
Otrzymuję ten błąd:
Wyjątek typu "System.Data.OleDb.OleDbException" wystąpił w System.Data.dll, ale nie było obsługiwane w kodzie użytkownika
Odpowiedzi:
2 dla odpowiedzi № 1Twój błąd występuje, ponieważ twoja wartość ciągu jest nieprawidłowo uformowana. Jest to poza twoim błędem składni. Odżywanie @Alex K.
string test = txtFirstName.Text;
comm.CommandText = "INSERT INTO Store (FirstName) Values (@1)";
c.Parameters.AddWithValue("@1", test);
To jest lepsze niż to
string test = txtFirstName.Text;
comm.CommandText = "INSERT INTO Store (FirstName) Values ("" + test.Replace(""", """") + "")";
Co jeśli txtFirstName.Text
ma "
, jak w "O" Neal "? - pierwszy przykład zajmuje się tym również, oprócz iniekcji sql