OriginalGriff
Только не так! Никогда не объединяйте строки для построения SQL-команды. Это оставляет вас широко открытыми для случайной или преднамеренной атаки SQL-инъекции, которая может уничтожить всю вашу базу данных. Вместо этого используйте параметризованные запросы.
Во-первых, разберите числовые значения на числовые переменные:
int qty;
if (!int.TryParse(txtUpdateQuantity.Text, out qty))
{
... report a problem to the user ...
return;
}
Тогда попробуйте что-нибудь вроде этого:
using (SqlConnection con = new SqlConnection(strConnect))
{
con.Open();
using (SqlCommand cmd = new SqlCommand("UPDATE Books SET Quantity = Quantity + @QT WHERE [Name] = @NM AND Author = @AU", con))
{
cmd.Parameters.AddWithValue("@QT", qty);
cmd.Parameters.AddWithValue("@NM", txtBookName.Text);
cmd.Parameters.AddWithValue("@AU", txtBookAuthor.Text);
cmd.ExecuteNonQuery();
}
}
Pallavi 24
Я не использовал строку подключения.На самом деле модифицированный код ur и я использовал следующий код:
SqlCommand cmd= con.CreateCommand();
УМК.CommandType = CommandType. Text;
УМК.Свойства commandtext="книги обновление установить количество = количество + @интервала QT где имя = @Нм и автор = @АС";
УМК.Параметры.AddWithValue ("@QT", кол-во);
УМК.Параметры.AddWithValue("@NM", txtBookName. Text);
УМК.Параметры.AddWithValue ("@AU", txtBookAuthor. Text);
УМК.Метод executenonquery();
Ящик для сообщений.Show ("успешно обновлено");
против.Закрывать();