Możesz to po prostu zrobić
query = "Select * From Table Where Title = " + someone;
Ale to jest złe i otwiera cię na wstrzykiwanie SQL
Powinieneś po prostu użyć sparametryzowanego zapytania
Coś takiego powinno Cię zacząć
using (var cn = new SqlClient.SqlConnection(yourConnectionString))
using (var cmd = new SqlClient.SqlCommand())
{
cn.Open();
cmd.Connection = cn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "Select * From Table Where Title = @Title";
cmd.Parameters.Add("@Title", someone);
}
Z odpowiedzi Jona Skeeta, ponieważ jego była pełniejsza niż moja
Zobacz dokumentację dla SqlCommand.Parameters aby uzyskać więcej informacji.
Zasadniczo nie powinieneś osadzać swoich wartości w samym SQL z różnych powodów:
- Łączenie kodu i danych jest nieeleganckie
- Otwiera cię na ataki typu SQL injection, chyba że jesteś bardzo ostrożny w ucieczce
- Musisz się martwić o formatowanie i szczegóły i18n dotyczące takich rzeczy jak liczby, daty i godziny itp.
- Gdy zapytanie pozostaje takie samo, zmieniając tylko wartości, optymalizator ma mniej pracy do wykonania – może bezpośrednio wyszukać poprzednie zoptymalizowane zapytanie, ponieważ będzie ono idealnie dopasowane pod względem SQL.