c# - 在 sp_UpdateStockItemAmount 上出现 inteccorect 语法错误
问题描述
我目前正在研究在删除订单中的项目期间运行两个 SQL 查询。一个用于从订单表中删除项目,另一个用于更新不同表上的库存。这是我写的:
public int DeleteItem(int stockItemId)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand command =
new SqlCommand("DELETE FROM DBO.OrderItems WHERE stockItemId=@stockItemId sp_UpdateStockItemAmount @Id, 1", //sp_SelectStockItems, @Id, 1
connection))
{
command.Parameters.AddWithValue("@stockItemId", stockItemId);
command.Parameters.AddWithValue("@Id", stockItemId);
connection.Open();
int result = -1;
try
{
result = command.ExecuteNonQuery();
}
catch (Exception error)
{
Console.WriteLine("Error: " + error.Message.ToString());
}
return result;
}
}
}
目前,当我尝试通过按下按钮执行此操作时遇到以下错误:
Exception thrown: 'System.Data.SqlClient.SqlException' in System.Data.dll
Error: Incorrect syntax near 'sp_UpdateStockItemAmount'.
sp_UpdateStockItemAmount 是我需要使用的存储过程,可以将 1 添加到 instock 列或删除 1 个库存。
我不太确定我现在做错了什么。
解决方案
一行中有两条 SQL 指令,sp_UpdateStockItemAmount
不被识别为存储过程调用
添加exec
:
"DELETE FROM DBO.OrderItems WHERE stockItemId=@stockItemId; exec sp_UpdateStockItemAmount @Id, 1"
推荐阅读
- matlab - 如何在 Matlab 中使用 TSPLIB
- r - 在 equal.count 函数之后根据属性变量堆叠条形图
- python - 使用 Python 将 2 列合并到 txt 文件中的新列
- ros - ROS melodic在Ubuntu 18.04安装key报错
- r - 在 R 中的轴标签中绘制表情符号/自定义图像
- email - 仅在批准流程后发送的 Postfix 电子邮件
- angularjs - 如何停止重新加载或重新渲染 ui-views
- python - 如何在 AWS Lex 中添加多个响应
- java - 当用户从我的应用程序存储目录中删除/移动文件时刷新 Recycler 视图?
- angularjs - AngularJS 的任何等效的 json-patch js