Sql server SQL Server转换为vb.net声明变量

Sql server SQL Server转换为vb.net声明变量,sql-server,vb.net-2010,Sql Server,Vb.net 2010,我的代码来自SQL Server 2012: SELECT * FROM tblProduct DECLARE @NewStocks INT SELECT @NewStocks = SUM(Stocks + 2) FROM tblProduct WHERE ItemCode = 8 PRINT @NewStocks UPDATE tblProduct SET Stocks = @NewStocks WHERE ItemCode = 8 SELECT * FROM tblProd

我的代码来自SQL Server 2012:

SELECT * FROM tblProduct

DECLARE @NewStocks INT

SELECT @NewStocks = SUM(Stocks + 2) 
FROM tblProduct 
WHERE ItemCode = 8

PRINT @NewStocks

UPDATE tblProduct 
SET Stocks = @NewStocks 
WHERE ItemCode = 8

SELECT * FROM tblProduct
有了这个代码,我就产生了我想要的东西,那就是选择特定的
ItemCode
(我的列),然后添加
股票
,然后更新表中的股票(我的列)。但当我在SQLServer2012中完美地做到这一点时(对我来说,很抱歉我只是一个新手),我现在在VB.NET程序中遇到了问题

    SQL.AddParam("@StocksItemCode", txtStocksItemCode.Text)
    SQL.AddParam("@AddStocks", txtStocksAddStocks.Text)

    SQL.ExecQuery("DECLARE @NewStocks INT;")
    SQL.ExecQuery("SELECT @ NewStocks = SUM(Stocks + @AddStocks) FROM tblProduct " & _
                  "WHERE ItemCode=@StocksItemCode;")
    SQL.ExecQuery("UPDATE tblProduct " & _
                  "SET Stocks = @NewStocks WHERE ItemCode=@StocksItemCode;")
正如您所看到的,我使用的逻辑与在SQLServer2012中使用的逻辑相同。但我有一个错误:

执行查询错误:
必须声明标量变量“@NewStocks”

我怎样才能解决这个问题?如果你,阅读这篇文章不能得到我想要的东西,请容忍我,我会尝试编辑它,这样你就可以得到我的想法


谢谢。

使用
声明
选择
、和
更新
语句执行单个批处理,而不是三个单独的批处理。我了解您的想法,但我不知道在vb.net中该怎么做。您能帮助我吗?您还有一个空格SELECT(at)NEWSTOCKS,而不是3个单独的批处理,使用
DECLARE
SELECT
UPDATE
语句执行单个批处理。我了解您的想法,但我不知道在vb.net中该怎么做。你能帮我吗?你也有一个选择新闻的空间