日期:2014-05-17  浏览次数:20936 次

oracle 拼装字符串 传入存储过程 查询无数据
if (dt != null && dt.Rows.Count > 0)
                {
                    foreach (DataRow dr in dt.Rows)
                    {
                        getid += "'" + dr["TypeID"] + "',";
                    }
                }
                getid = getid.Remove(getid.LastIndexOf(","), 1);
                return getid;
 
以上就是方法的核心代码,调用存储过程传参数,这个执行,查询没有数据,如果在调试的时候把这个返回的字符串直接写入存储过程参数位置 查询就有数据,不晓得为什么 谁晓得
------解决方案--------------------
是不是参数传递的时候 多拼装了一层双引号啊
楼主可以试着把传递之前和传递之后的参数打印出来看看
语言和数据库转换的时候 系统有可能会默认增加一层双引号的
我的异常网推荐解决方案:oracle存储过程,http://www.aiyiweb.com/oracle-develop/177537.html