Я хотел бы знать, что не так с этим кодом. У меня проблема: ошибка около "," ошибка синтаксисаОшибка обновления SqLite
Он принимает код предмета и объект объекта.
public override int Update(string ItemCode, Item Item)
{
int rc = 0;
try
{
_sqlConnection = new SQLiteConnection(_connStr);
_sqlConnection.Open();
Я думаю, что проблема заключается в следующем утверждении:
string updateQuery = string.Format("UPDATE ItemDatabase SET [email protected], [email protected], [email protected] WHERE [_itemDescription] = '{0}' AND [_itemPrice] = '{1}' AND [_itemName] = '{2}'", Item.ItemDescription, Item.ItemPrice, Item.ItemName);
Я не уверен, если оно должно быть отделено запятой.
SQLiteCommand sqlCommand = new SQLiteCommand(updateQuery, _sqlConnection);
SQLiteParameter[] sqlParams = new SQLiteParameter[]
{
new SQLiteParameter("@ItemDescription",DbType.String),
new SQLiteParameter("@ItemPrice",DbType.String),
new SQLiteParameter("@ItemName", DbType.String)
}; // end SQLiteParameter
sqlParams[0].Value = Item.ItemDescription;
sqlParams[1].Value = Item.ItemPrice;
sqlParams[2].Value = Item.ItemName;
sqlCommand.Parameters.AddRange(sqlParams);
rc = sqlCommand.ExecuteNonQuery();
if (rc == 1)
{
rc = 0;
}
_sqlConnection.Close();
}
catch (SQLiteException ex)
{
throw ex;
}
catch (Exception ex)
{
throw ex;
}
return rc;
}
То, что вы видите, как 'updateQuery' когда вы отлаживаете свой код? –
Почему вы помещаете это подчеркивание перед своими полями? – Steve
И что-то здесь не совсем верно. Значения, используемые для параметров, - это те же значения, что и для запроса. Таким образом, вы ничего не нашли или обновили поле до того же значения – Steve