0
Как добавить пользовательский ввод в SQL-запрос?
16
Я пытаюсь создать SQL-запрос с использованием данных, предоставленных пользователем. В C# я использую код, подобный следующему:
var sql = "INSERT INTO myTable (myField1, myField2) " +
"VALUES ('" + someVariable + "', '" + someTextBox.Text + "');";
var cmd = new SqlCommand(sql, myDbConnection);
cmd.ExecuteNonQuery();
А в VB.NET это выглядит так:
Dim sql = "INSERT INTO myTable (myField1, myField2) " &
"VALUES ('" & someVariable & "', '" & someTextBox.Text & "');"
Dim cmd As New SqlCommand(sql, myDbConnection)
cmd.ExecuteNonQuery()
Однако у меня возникли некоторые проблемы:
- Запрос не проходит, если пользовательский ввод содержит одиночные кавычки (например,
O'Brien
). - Я не могу правильно отформатировать значение
DateTime
при вставке. - Мне постоянно говорят, что такой подход небезопасен из-за "SQL-инъекций".
Как правильно реализовать это?
Статистика
Задан
27.03.2025
Просмотров
16
Ответов
0
Похожие вопросы
0 ответ(ов)
33 просмотр(ов)
SQL-инъекция, обхватывающая mysql_real_escape_string()
sql
php
mysql
+2
0 ответ(ов)
37 просмотр(ов)
Самый Быстрый Способ Вставки в Entity Framework
c#
sql
entity-framework
0 ответ(ов)
11 просмотр(ов)
Как извлечь данные из базы данных SQL Server в C#?
c#
sql
sql-server
0 ответ(ов)
11 просмотр(ов)
Ввод ключей вручную с помощью Entity Framework
c#
sql
asp.net
+2
0 ответ(ов)
10 просмотр(ов)
Параметризованные запросы с условиями LIKE и IN
.net
sql
parameters
+2