使用OracleCommand执行带参数的查询语句

WhiteWaterBlueSky 2004-12-19 04:00:48
在用SqlCommand时,带参数的查询是这样的:select * from A where AID = @AID,@AID就是参数。
在用OracleCommand时,必须得这样:select * from A where AID = :AID,:AID是参数。

我想问的是:有没有一致的参数形式,因为我们的程序既要支持SQL SERVER,又要支持ORACLE,否则我们就得写两个SQL语句,一个用@表示参数,一个用:表示参数。
...全文
801 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
mywindyboy 2004-12-23
  • 打赏
  • 举报
回复
WhiteWaterBlueSky (花之雨) ,楼主,你来http://community.csdn.net/Expert/topic/3670/3670922.xml?temp=.7577783
回复一下,我给你加分,你帮了我点忙.
lr2651 2004-12-20
  • 打赏
  • 举报
回复
建议工厂模式,就跟.net那个宠物商店(PetShop3.0)里面那样用的。
wangxt 2004-12-20
  • 打赏
  • 举报
回复
帮你顶
marvelstack 2004-12-20
  • 打赏
  • 举报
回复
http://blog.csdn.net/web_gus/archive/2004/10/13/134907.aspx
bineon 2004-12-19
  • 打赏
  • 举报
回复
另外,如果使用存储过程,然后把数据访问做成 工厂模式 就可以了。
bineon 2004-12-19
  • 打赏
  • 举报
回复
1,两者使用的是不同的驱动。
2,oledb使用?作为参数,sql server 使用的是 @,我不知道他们是否都能使用?,建议你测试一下
yiyi0518 2004-12-19
  • 打赏
  • 举报
回复
呵呵,学习~~~

反正以前都是得分开来的~~~

因为sql server 和 oracle 属于两种sql机制,没有什么通用的方法~~~
tonybaobao 2004-12-19
  • 打赏
  • 举报
回复
dotNet 1.1里面肯定不行,你必须指定你的Data Provider,所以必须有相对应的格式。但2.0里面可能会有所改观,出来了一个Factory,不需要指明是哪个具体的Data Provider,所以我想应该会有一个通用的方式。
follishnet 2004-12-19
  • 打赏
  • 举报
回复
肯定是没有一致的处理方法的

不过你可以写一个类来处理他
北京的雾霾天 2004-12-19
  • 打赏
  • 举报
回复
我觉得这样的问题一般来说最好分开来处理,因为不同的数据驱动有不同的特征,有时很难来做到统一处理,所以如果必要就只能分开处理.

111,111

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧