Хотя я не работал специально с MySqlDataReader, я бы немного изменил запросы вокруг ... в противном случае формат (параметризация), который вы используете для вставки, полностью подходит.
Хотя функция ON DUPLICATE KEY UPDATE, предоставленная Христо, хороша, вам не хватало бы других элементов столбца для вашей записи. Я бы изменил на ..
MySqlCommand command = connection.CreateCommand();
command.CommandText = "UPDATE tableName Set Quantity = Quantity +1 " +
"WHERE upc = @upc"
command.Parameters.AddWithValue("@upc", upc.Text);
** Не знаю, как значение / статус будет возвращено из MySqlDataReader, но
result = command.ExecuteReader();
if( the status indicates it actually succeeded in an update,
or how many records were updated > 0 )
return; // you've just increased the counter...
ПРОЧЕЕ, его не было в файле ... продолжить с остальной частью вашей команды SQL-вставки, мы можем перезаписать последний экземпляр команды ...
command = connection.CreateCommand();
command.CommandText = "INSERT INTO tableName " +
"(upc, title, description, quantity) " +
"VALUES " +
"(@upc, @title, @description, @quantity)";
command.Parameters.AddWithValue("@upc", upc.Text);
command.Parameters.AddWithValue("@title", titlename);
command.Parameters.AddWithValue("@description", descname);
command.Parameters.AddWithValue("@quantity", "1");
result = command.ExecuteReader();