oraclecommand

hnfeitianwugui 2013-02-18 02:25:27
C# oraclecommand能不能用语句块???貌似不能?
...全文
120 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxingmin 2013-02-18
  • 打赏
  • 举报
回复
你是指多sql语句批量执行吧 oracle参数不是@开头,是:开头吧 declare :totol ... 你把sql内容复制下来去plsql里执行一下看看行不行
hnfeitianwugui 2013-02-18
  • 打赏
  • 举报
回复
引用 1 楼 gxingmin 的回复:
是指using语句块吗?
可以啊
C# code?123 using (System.Data.OracleClient.OracleCommand cmd = new System.Data.OracleClient.OracleCommand()) { }

比如:这样就不能执行
gxingmin 2013-02-18
  • 打赏
  • 举报
回复
是指using语句块吗? 可以啊
 using (System.Data.OracleClient.OracleCommand cmd = new System.Data.OracleClient.OracleCommand())
            {
            }
1.cmd.ExecuteReader(); 2.cmd.ExecuteNonQuery(); 3.cmd.ExecuteScalar(); 4.cmd.ExecuteXmlReader();)  1,ExecuteReader();返回一个OracleDataReader对象可以通过这个对象来检查查询结果,从结果中读取一行之后,移动到另一行,则前一行就无法再用。有一点要注意的是执行之后,要等到手动去调用Read()方法之后,DataReader对象才会移动到结果集的第一行,同时此方法也返回一个Bool值,表明下一行是否可用,返回True则可用,返回False则到达结果集末尾。 使用DataReader可以提高执行效率,有两种方式可以提高代码的性能:一种是基于序号的查找,一个是使用适当的Get方法来查找。因为查询出来的结果一般都不会改变,除非再次改动查询语句,因此可以通过定位列的位置来查找记录。用这种方法有一个问题,就是可能知道一列的名称而不知道其所在的位置,这个问题的解决方案是通过调用DataReader 对象的GetOrdinal()方法,此方法接收一个列名并返回此列名所在的列号。例: int id=reader.GetOrdinal("CategoryName"); while(reader.Read()) { Response.Write(reader[id]); reader.Close(); 至于第二种方式很直观,例:  while(reader.Read()) {   ?Response.Write(reader.GetInt32(0).ToString()+" "+reader.GetString(1).ToString()+" "); }  DataReader的GetInt32()和GetString()通过接收一个列号来返回一个列的值,这两种是最常用的,其中  还有很多其它的类型。 。。。。

111,098

社区成员

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

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

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