asp.net dataset Oracle数据库,创建出的sql语句,参数顺序错误!!
asp.net 2.0
oracle 11g
odp Oracle.DataAccess, Version=2.112.2.0
创建一个DataSet1,在一个TableAdapter里面新增一个查询,delete类型(实际上就是NonQuery),
语句如下:DELETE FROM PERMISSION
WHERE (JOBID IN
(SELECT JOBID
FROM JOB
WHERE (CORPID = :corpid))) AND (LOGINNAME = :userid)
创建过程一切正常,创建出一个DeleteQuery(:userid,:corpid) 请注意参数顺序。
在.aspx.cs页面里面调用:
DataSet1TableAdapters.DataTable1TableAdapter ta = new DataSet1TableAdapters.DataTable1TableAdapter();
ta.DeleteQuery("Tuff","00000000-0000-0000-0000-000000000002");
语句正常完成,数据库该删除的东西还在。经过反复测试,当调用时候参数反着给:
ta.DeleteQuery("00000000-0000-0000-0000-000000000002", "Tuff");
反而出现了预期的要求。
另外,在DataSet开发界面,右键点击这条SQL查询,再点击“查询生成器”,点击"执行查询",系统会提示你输入测试所需要的参数值,此时输入框中:corpid在前面,:userid在第二个,输入参数,也能正常执行。
请问这是为什么?????
QQ: 251511