首页 新闻 会员 周边

asp.net 操作oracle 存储过程 OracleParameterCollection 只接受非空的 OracleParameter 类型对象

0
悬赏园豆:15 [已解决问题] 解决于 2012-05-21 14:34

OracleParameter 这个是 Oracle.DataAccess.Client下面的而这里的连接是

System.Data.OracleClient.OracleConnection

会不是这个引起的啊

库子的主页 库子 | 初学一级 | 园豆:5
提问于:2012-05-16 15:27
< >
分享
最佳答案
0

whereCondition可能为空,你的params也要设置为可以为空的。

收获园豆:15
悟行 | 专家六级 |园豆:12559 | 2012-05-16 16:01

能在说的具体点吗    params也要设置为空 ?

库子 | 园豆:5 (初学一级) | 2012-05-16 16:24

@库子:   l_para = new OracleParameter("vid", OracleType.VarChar, DBNull.Value);

如果为空时,则传入DBNull.Value。

http://blog.csdn.net/youbl/article/details/3401758

悟行 | 园豆:12559 (专家六级) | 2012-05-16 16:38

@荒野的呼唤: 

OracleParameter[] parms = new OracleParameter[3];
            if (string.IsNullOrEmpty(whereCondition) == true)
            {
                parms[0] = new OracleParameter("a_WhereCondition", DBNull.Value);
            }
            else
            {
                parms[0] = new OracleParameter("a_WhereCondition",whereCondition);
            }
            if (string.IsNullOrEmpty(orderByCondition) == true)
            {
                parms[1] = new OracleParameter("a_OrderByExpression", DBNull.Value);
            }
            else
            {
                parms[1] = new OracleParameter("a_OrderByExpression", orderByCondition);
            }

 

我这样写行还是那个错误

库子 | 园豆:5 (初学一级) | 2012-05-16 17:00

@库子: 不好意思,刚才没有看仔细,你的截图:UsingConnection后面是null。连接数据库的问题。

悟行 | 园豆:12559 (专家六级) | 2012-05-16 17:01

@荒野的呼唤:  那我刚才改成了sql语句就可以啊

如果说是连接数据库的问题那么 改成sql语句也会出错啊

库子 | 园豆:5 (初学一级) | 2012-05-16 17:07

@库子: 你的对象也都要用oracle啊,不要混用啊。

悟行 | 园豆:12559 (专家六级) | 2012-05-16 17:12

@库子: 不信你看

库子 | 园豆:5 (初学一级) | 2012-05-16 17:21

@荒野的呼唤:我只是想证明不是链接的问题所以才搞个sql 测试下

库子 | 园豆:5 (初学一级) | 2012-05-16 17:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册