Sie können dies einfach tun
query = "Select * From Table Where Title = " + someone;
Aber das ist schlecht und öffnet Sie für SQL Injection
Sie sollten nur eine parametrisierte Abfrage verwenden
So etwas sollte Ihnen den Einstieg erleichtern
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);
}
Aus Jon Skeets Antwort, da seine vollständiger war als meine
Siehe die Dokumentation für SqlCommand.Parameters für weitere Informationen.
Grundsätzlich sollten Sie Ihre Werte aus verschiedenen Gründen nicht in die SQL selbst einbetten:
- Es ist unelegant, Code und Daten zu mischen
- Es macht Sie angreifbar für SQL-Injection-Angriffe, es sei denn, Sie sind sehr vorsichtig beim Entkommen
- Sie müssen sich um Formatierung und i18n-Details für Dinge wie Zahlen, Datum und Uhrzeit usw. kümmern
- Wenn die Abfrage gleich bleibt und sich nur die Werte ändern, hat der Optimierer weniger Arbeit zu tun - er kann die vorherige optimierte Abfrage direkt nachschlagen, da sie eine perfekte Übereinstimmung mit dem SQL ergibt.