Asp.net SqlDataSource中使用like,报错ORA-01722: 无效数字

   以前在asp.net中,没有使用过SqlDataSource来连接不同数据库,首次尝试却问题多多,这里将问题记录下来,以便后面的朋友参考,更快的解决问题

   1,ORA-00936: 缺少表达式 , 这里主要是语法不清楚所造成的!

SqlDataSource 连接sql server数据库时 SelectCommand="select  * from tablename where id= @id"

                        连接oracle数据库时  SelectCommand="select  * from tablename where id= :id" 

   问题解决: 主要连接到不同数据库时候,参数传递的写法也会不同.

 

 

   2,ORA-01722: 无效数字,

主要是在使用SqlDataSource 连接数据库,使用LIKE语句查询的时候,遇到这样的错误。

SqlDataSource 连接sql server数据库时 SelectCommand="select  * from tablename where name like '%' + @id + '%' "

                        连接oracle数据库时  SelectCommand="select  * from tablename where name like '%'||:id||'%' " 

   问题解决: 主要连接到不同数据库时候,连接字符的写法不同。

如果是在后台,通过参数,来拼接SQL字符串的时候,就会很少遇到这样的问题,使用SqlDataSource真的不方便调试语法错误。

 

 

   3,还有个蛮有意思的错误是,<asp:SqlDataSource  />  连接中,不写ProviderName,会默认连接到Sql Server证据库,ConnectionString为连接到Oracle中,就需要将ProviderName属性也添加上,ProviderName="System.Data.OracleClient"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值