update sql - c# прибавить к числу в таблице +1
Опасный код:
using(var con = new SqlConnection(connection))
{
con.Open();
string update = "update [DataBase] set [count] = [count]+ 1 where [id] = @id'";
using (var comm = new SqlCommand(update, con))
{
/* ------ */
}
}
Можете мне слегка пояснить. Я понимаю работу с SELECT если хочу вывести что-либо даже с условием :
string show = $"select name from DataBase where ID = '{id}'";
using (var con = new SqlConnection(connection))
using (var comm = new SqlCommand())
{
con.Open();
comm.Connection = con;
comm.CommandText = show;
using(var reader = comm.ExecuteReader())
{
while (reader.Read())
{
CB.Items.Add(reader[0].ToString());
}
}
}
Я даже научился вроде как использовать INSERT - через хранимые процедуры в SQL server.
НО я абсолютно не имею понятия как мне просто ПРИБАВИТЬ В ТАБЛИЦЕ ТИПА int + 1 через C#(код выше) по ID.
using(var con = new SqlConnection(connection))
{
con.Open();
string update = $"update [DataBase] set [count] = [count]+ 1 where [id] = '{id(параметр метода, например)}'";
using (var comm = new SqlCommand(update, con))
{
/* ------ */
}
}
Что я имею:
private void update(string table_number)
{
using(var con = new SqlConnection(connection))
{
con.Open();
string update = $"update DataBase set count = count + 1 where id = '{table_number}'";
using (var comm = new SqlCommand(update, con))
{
comm.ExecuteNonQuery();
}
}
}
Ответы (1 шт):
Автор решения: Frehzy
→ Ссылка
Пример типичного SQL запроса в БД для увеличения на 1
var connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=usersdb;Integrated Security=True";
var sqlQuery = "UPDATE DataBase SET count += 1 WHERE id = '*someId*'";
using (var connection = new SqlConnection(connectionString))
{
connection.Open();
var command = new SqlCommand(sqlQuery, connection);
int addRowsCount = command.ExecuteNonQuery();
Console.WriteLine("Обновлено строк: {0}", addRowsCount);
}
По-хорошему, стоит чуть подправить это в виде параметризованного запроса. Это гораздо безопаснее. Выглядеть это будет следующим образом:
var connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=usersdb;Integrated Security=True";
var sqlQuery = "UPDATE DataBase SET count += 1 WHERE id = @id";
using (var connection = new SqlConnection(connectionString))
{
connection.Open();
var command = new SqlCommand(sqlQuery, connection);
var id = new SqlParameter("@id", *someId*);
command.Parameters.Add(id);
int addRowsCount = command.ExecuteNonQuery();
Console.WriteLine("Обновлено строк: {0}", addRowsCount);
}