/ / Jak używać zapytania INSERT INTO w programie Access do wstawienia rekordu ze zmiennej - sql, .net, database

Jak używać zapytania INSERT INTO w programie Access, aby wstawić rekord ze zmiennej - sql, .net, database

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 № 1

Twó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