知识大全 用ODP.NET执行SQL读取数据库记录的方法

Posted 语句

篇首语:天赋如同自然花木,要用学习来修剪本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用ODP.NET执行SQL读取数据库记录的方法相关的知识,希望对你有一定的参考价值。

用ODP.NET执行SQL读取数据库记录的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  本文我们通过一个Oracle提供的示例来讲解利用利用ODP NET 执行SQL语句访问数据库时设置参数   首先创建一个C#应用程序 为了简单和方便可以创建一个控制台程序   然后第一件事是添加对Oracle ODP NET的引用 打开项目的解决方案管理页 然后在引用目录上点右键并选择添加引用菜单 选择ORACLE_HOME\\bin\\Oracle DataAccesss dll   为了能够使用ODP NET 我们在程序前应该引入相关的命名空间   using Oracle DataAccess Client;  using Oracle DataAccess Types;    首先需要建立到数据库的连接 在上一文章中已经讲过这方面的基本知识     接下来的工作是建立表 SQL语句为 CREATE TABLE multimedia_tab(thekey NUMBER( ) PRIMARY KEY story CLOB sound BLOB)    然后插入一条记录进行测试 SQL语句为 INSERT INTO multimedia_tab values( This is a long story Once upon a time )    建表和插入记录都使用OracleCommand 对象的 ExecuteNonQuery方法来执行SQL 语句     在ODP NET 中使用参数的方法为   ◎通过SQL语句创建一个OracleCommand 在SQL语句中参数使用: : 来代替 分别表示第一个 第二个参数   ◎在OracleCommand对象中添加参数   ◎设置参数的值   ◎调用OracleCommand的ExecuteNonQuery执行SQL语句   ◎从参数对象中得到返回的值     下面是代码   // 创建OracleCommand 对象  OracleCommand cmd = new OracleCommand(     begin select story into : from multimedia_tab where thekey = ; end; );  cmd Connection = con;    //把命令类型设置为Text 表示执行SQL语句  cmd CommandType = CommandType Text;    // 添加参数 第一个参数表示参数名称 第二个参数表示参数类型   OracleParameter param = cmd Parameters Add( clobdata     OracleDbType Clob);    // 设置参数为输出类型 如果是输入参数则设置为 ParameterDirection InputOutput  param Direction = ParameterDirection Output;    // Execute mand  try      // 执行SQL语句    // 如果是输入参数 那么这时SQL中的: 被替换为OracleParameter param 对象所代表的值    cmd ExecuteNonQuery();    // 因为参数是输出参数 所以可以通过得到参数的值来获取SQL语句中参数所表示的值    string lob_data = (string) ((OracleClob)(cmd Parameters[ ] Value)) Value;      // 显示结果    Console WriteLine( Data is: + lob_data);    catch (Exception e)      Console WriteLine(e Message);      在执行设置了参数的SQL语句时可以使用ExecuteReader ExecuteNonQuery ExecuteScalar 来执行SQL语句     参数的类型可以为 InputOutput Output ReturnValue       在ODP NET中还有一项功能 就是利用数组绑定到参数上来一次性插入多个记录 这里讲一下多个记录同时插入时如何绑定一个数组到参数上     // 设置数组  int[] myArrayDeptNo = new int[ ] ;     // 创建OracleCommand 对象  cmd CommandText = insert into dept(deptno) values (:deptno) ;   // 设置数组大小  cmd ArrayBindCount = ;     // 创建参数  OracleParameter prm = new OracleParameter( deptno OracleDbType Int );   prm Direction = ParameterDirection Input;   prm Value   = myArrayDeptNo;     // 添加参数到OracleCommand对象中  cmd Parameters Add(prm);     // 执行 这时候有三条记录被插入  cmd ExecuteNonQuery();        : : otn 对内容进行了修改  ------------------------签----名----  $ )    movb  $ x %ah    int  $ x     movw  %ax ( )    movw  $SYSSEG %ax cha138/Article/program/Oracle/201311/16992

相关参考