麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > .NET > 正文

用ODP.NET執(zhí)行SQL讀取數(shù)據(jù)庫記錄的方法

2024-07-21 02:34:32
字體:
供稿:網(wǎng)友

  本文我們通過一個Oracle提供的示例來講解利用利用ODP.NET 執(zhí)行SQL語句訪問數(shù)據(jù)庫時設置參數(shù)。
  首先創(chuàng)建一個C#應用程序,為了簡單和方便可以創(chuàng)建一個控制臺程序。
  然后第一件事是添加對Oracle ODP.NET的引用。打開項目的解決方案治理頁,然后在引用目錄上點右鍵并選擇添加引用菜單。選擇ORACLE_HOME/bin/Oracle.Dataaccesss.dll。
  為了能夠使用ODP.NET 我們在程序前應該引入相關的命名空間。
  using Oracle.DataAccess.Client;
  using Oracle.DataAccess.Types;
  
  首先需要建立到數(shù)據(jù)庫的連接,在上一文章中已經(jīng)講過這方面的基本知識。
  
  接下來的工作是建立表,SQL語句為:CREATE TABLE multimedia_tab(thekey NUMBER(4) PRIMARY KEY, story CLOB, sound BLOB)
  
  然后插入一條記錄進行測試,SQL語句為:INSERT INTO multimedia_tab values(1,'This is a long story. Once upon a time ...','656667686970717273747576777879808182838485')
  
  建表和插入記錄都使用OracleCommand 對象的 ExecuteNonQuery方法來執(zhí)行SQL 語句。
  
  在ODP.NET 中使用參數(shù)的方法為:
  ◎通過SQL語句創(chuàng)建一個OracleCommand,在SQL語句中參數(shù)使用:1,:2來代替,分別表示第一個,第二個參數(shù)。
  ◎在OracleCommand對象中添加參數(shù)。
  ◎設置參數(shù)的值。
  ◎調(diào)用OracleCommand的ExecuteNonQuery執(zhí)行SQL語句。
  ◎從參數(shù)對象中得到返回的值。
  
  下面是代碼:
  // 創(chuàng)建OracleCommand 對象
  OracleCommand cmd = new OracleCommand(
    "begin select story into :1 from multimedia_tab where thekey = 1; end;");
  cmd.Connection = con;
  
  //把命令類型設置為Text,表示執(zhí)行SQL語句
  cmd.CommandType = CommandType.Text;
  
  // 添加參數(shù),第一個參數(shù)表示參數(shù)名稱,第二個參數(shù)表示參數(shù)類型,
  OracleParameter param = cmd.Parameters.Add("clobdata",
    OracleDBType.Clob);
  
  // 設置參數(shù)為輸出類型,假如是輸入?yún)?shù)則設置為:ParameterDirection.InputOutput
  param.Direction = ParameterDirection.Output;
  
  // Execute command
  try
  {
    // 執(zhí)行SQL語句
    // 假如是輸入?yún)?shù),那么這時SQL中的:1 被替換為OracleParameter param 對象所代表的值
    cmd.ExecuteNonQuery();
    // 因為參數(shù)是輸出參數(shù),所以可以通過得到參數(shù)的值來獲取SQL語句中參數(shù)所表示的值
    string lob_data = (string) ((OracleClob)(cmd.Parameters[0].Value)).Value;
  
    // 顯示結果
    Console.WriteLine("Data is: " + lob_data);
  }
  catch (Exception e)
  {
    Console.WriteLine(e.Message);
  }
  
  在執(zhí)行設置了參數(shù)的SQL語句時可以使用ExecuteReader 、ExecuteNonQuery 、ExecuteScalar 來執(zhí)行SQL語句。
  
  參數(shù)的類型可以為:InputOutput、Output、ReturnValue 。
  
  
  在ODP.NET中還有一項功能,就是利用數(shù)組綁定到參數(shù)上來一次性插入多個記錄,這里講一下多個記錄同時插入時如何綁定一個數(shù)組到參數(shù)上。
  
  // 設置數(shù)組
  int[] myArrayDeptNo = new int[3]{10, 20, 30};
  
  // 創(chuàng)建OracleCommand 對象
  cmd.CommandText = "insert into dept(deptno) values (:deptno)";
  // 設置數(shù)組大小
  cmd.ArrayBindCount = 3;
  
  // 創(chuàng)建參數(shù)
  OracleParameter prm = new OracleParameter("deptno", OracleDbType.Int32);

  prm.Direction = ParameterDirection.Input;
  prm.Value   = myArrayDeptNo;
  
  // 添加參數(shù)到OracleCommand對象中
  cmd.Parameters.Add(prm);
  
  // 執(zhí)行,這時候有三條記錄被插入
  cmd.ExecuteNonQuery();
  
  
  2003-11-17 14:34:01otn 對內(nèi)容進行了修改
  ------------------------簽----名----
  $-)
    movb  $0x88,%ah
    int  $0x15
    movw  %ax,(02)
    movw  $SYSSEG, %ax

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 精品久久久久久综合日本 | 久草手机在线视频 | 91在线视频播放 | 香蕉视频99| 欧美日韩免费一区 | 国产成人在线观看免费网站 | 国产男女爽爽爽爽爽免费视频 | 99成人精品视频 | 免费嗨片首页中文字幕 | 国产一区二区在线观看视频 | 麻豆一区二区99久久久久 | 日韩黄站 | 国产一区二区三区在线观看视频 | 91短视频版高清在线观看免费 | 超级av在线 | 久久影院一区二区三区 | 欧美日韩观看 | japanese javhd| 成人性视频在线 | 一级电影免费 | 久久久久国 | 国产亚洲精彩视频 | 久久精品国产99久久久古代 | 欧洲成人一区二区 | 孕妇体内谢精满日本电影 | 91精品国产综合久久青草 | 羞羞网站在线看 | 日韩精品一区二区三区中文 | 国产一级一片免费播放 | 特级毛片全部免费播放器 | 免费看综艺策驰影院 | 久久国产精品二区 | 99精彩视频在线观看 | 国产一区二区在线免费观看 | 国产一区二区三区高清 | 韩国一级免费视频 | 成人9禁啪啪无遮挡免费 | 99精品视频一区二区三区 | 欧美一区二区三区不卡免费观看 | 国产 视频 一区二区 | 中国杭州少妇xxxx做受 |