.NET开发,用Oracle.ManagedDataAccess.dll连接oracle数据库,SqlExcuteNonQuery批量操作成功返回0?
从用Oracle.Client.dll连接数据库改成了Oracle自己提供的全托管Oracle.ManagedDataAccess.dll,但是执行beginupdate...
从用Oracle.Client.dll连接数据库改成了Oracle自己提供的全托管Oracle.ManagedDataAccess.dll,但是执行 begin update……;update……;end;这样的批量操作时,实际已经操作成功,却返回0,怎么办?这样在判断是否执行成功时和普通增删改语句无法区分。
展开
1个回答
展开全部
建议把代码贴出来
更多追问追答
追问
这还需要贴代码?就是.NET在使用Oralce全托管ODP.net连接数据库时,OracleCommand的ExecuteNonQuery方法执行 "begin update……;update……;end;"这样的批量操作,执行成功返回的却是-1;而微软的Oracle.Client.dll同样的操作返回却是1。
追答
真不清楚是什么原因导致。猜测oracle给的DLL实现就是这多条语句操作,正常执行就是返回为0,异常为-1。
其实微软的DLL给返回值为1,并不能确定你哪条语句执行成功,哪条失败了。
建议使用存储过程操作多条语句。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询