Můžete to udělat
query = "Select * From Table Where Title = " + someone;
Ale to je špatné a otevírá vám to SQL Injection
Měli byste použít pouze parametrizovaný dotaz
Něco takového by vás mělo nastartovat
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 odpovědi Jona Skeeta, protože jeho byla úplnější než moje
Podívejte se do dokumentace pro SqlCommand.Parameters pro více informací.
V zásadě byste neměli své hodnoty vkládat do samotného SQL z různých důvodů:
- Je neelegantní kombinovat kód a data
- Pokud nebudete velmi opatrní při útěku, otevře vás to útokům SQL injection
- Musíte si dělat starosti s formátováním a podrobnostmi i18n pro věci, jako jsou čísla, data a časy atd.
- Když dotaz zůstává stejný, pouze se mění hodnoty, má optimalizátor méně práce – může vyhledat předchozí optimalizovaný dotaz přímo, protože se bude dokonale shodovat s SQL.