我正在尝试在我的C#项目中向我的表适配器添加一个参数。当我将@添加到where子句时,visual studio给我一个错误。这是我的SQL语句:
select PO.PO_Num,
PO.Supplier,
PO.DateOrdered,
PO.DateRequired,
PO.Terms,
PO.Freight,
PO.FOB,
POItems.PO_Num as Expr1,
POItems.Quantity,
POItems.Description,
POItems.Item,
POItems.Price,
POItems.KeyNum
from PO,
POItems
where PO.PO_Num = POItems.PO_Num
and (PO.PO_Num = @PO_Num)
有人可以告诉我我做错了什么吗?在此先感谢您的帮助!
答案 0 :(得分:3)
修复我需要更改where子句的错误:
where PO.PO_Num = POItems.PO_Num and (PO.PO_Num = @PO_Num)
添加问号(?)代替at符号(@),如下所示:
where PO.PO_Num = POItems.PO_Num and (PO.PO_Num = ?)
之后我能够执行查询,并且Visual Studio 2010没有抛出错误。
答案 1 :(得分:0)
我刚刚在添加表适配器和使用.NET框架数据提供程序的数据源进行oracle时遇到了这个问题。将where子句改为使用“@”和“?”的两种解决方案不适合我。
相反,我必须使用以下内容:
where PO.PO_Num = POItems.PO_Num and (PO.PO_Num = :PO_Num)