Обновите значение int, используя PostgreSQL и C # - PullRequest
0 голосов
/ 02 марта 2012
Update "Batery" Set "Stock" = 10 + "Stock"  Where "idBatery" = 1 

Я выполнил этот запрос в Postgres, и он работал.Как мне сделать запрос, используя C # .

Я пробовал это:

"Update \"Batery\" Set \"Stock\" = " + tbAddStock.Text +"+ \"Stock\"  Where \"idBatery\" = "+ tbIdBatery.Text

синтаксис команды uning:

"Update \"Batery\" Set \"Stock\" = (:stock) + \"Stock\"  Where \"idBatery\" = (:idbatery)"

И яполучить ошибку, которая говорит: "Синтаксическая ошибка в или близко к <<" Stock ">>", в первом случае.В случае cmd я получаю «Не могу преобразовать объект« System.String [] »в« System.IConvertible »

1 Ответ

1 голос
/ 04 марта 2012

Вот пример кода, иллюстрирующего использование Npgsql (C # API для PostgreSQL)

1) Создание команды 2) Добавление параметров в команду 3) Добавление значений для каждого параметра в команду 4) Выполнение как'non query' (не ожидая, что строки SQL будут возвращены) 5) поймать ваши ошибки базы данных

NpgsqlCommand command = new NpgsqlCommand( "update battery set stock = :stock where id = :id;", connection);
try
{
 command.Parameters.Add(new NpgsqlParameter("stock", NpgsqlTypes.NpgsqlDbType.Integer));
 command.Parameters.Add(new NpgsqlParameter("id", NpgsqlTypes.NpgsqlDbType.Integer));
 command.Parameters[0].Value = stock;
 command.Parameters[1].Value = id;

 command.ExecuteNonQuery();

command.
}
catch( NpgsqlException e )
{
....
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...