ADO.NET常用對象詳解之:Command對象

    1.Command對象概述
  Command對象可以使用數據庫命令直接與數據源進行通信。它的屬性如下:
  Name:Command對象的程序化名稱。在代碼中使用此名稱來引用Command對象。
  Connection:對Connection對象的引用,Command對象將使用該對象與數據庫通信。
  CommandType:Text | StoreProduce | TableDirect。
  CommandText:SQL語句 | StoreProduce。
  Parameters:命令對象包含的參數。
 
  可以通過一下三種方式來創建Command對象
ExpandedBlockStart.gif
None.gifstring strConn, strSQL;
None.gifstrConn 
= "Provider=SQLOLEDB;Data Source=(local)//NetSDK;Initial Catalog=Northwind;Trusted_Connection=Yes;";
None.gifstrSQL 
= "SELECT CustomerID,CompanyName FROM Customers";
None.gifOleDbConnection cn 
= new OleDbConnection(strConn);
None.gifcn.Open();
None.gifOleDbCommand cmd;
None.gif
None.gifcmd 
= cn.CreateCommand();
None.gifcmd.CommandText 
= strSQL;
ExpandedBlockStart.gif
None.gifstring strConn, strSQL;
None.gifstrConn 
= "Provider=SQLOLEDB;Data Source=(local)//NetSDK;Initial Catalog=Northwind;Trusted_Connection=Yes;";
None.gifstrSQL 
= "SELECT CustomerID,CompanyName FROM Customers";
None.gifOleDbConnection cn 
= new OleDbConnection(strConn);
None.gifcn.Open();
None.gifOleDbCommand cmd;
None.gif
None.gifcmd 
= new OleDbCommand();
None.gifcmd.CommandText 
= strSQl;
None.gifcmd.Connection 
= cn;
ExpandedBlockStart.gif
None.gifstring strConn, strSQL;
None.gifstrConn 
= "Provider=SQLOLEDB;Data Source=(local)//NetSDK;Initial Catalog=Northwind;Trusted_Connection=Yes;";
None.gifstrSQL 
= "SELECT CustomerID,CompanyName FROM Customers";
None.gifOleDbConnection cn 
= new OleDbConnection(strConn);
None.gifcn.Open();
None.gifOleDbCommand cmd;
None.gif
None.gifcmd 
= new OleDbCommand(strSQL, cn);

  2.Command對象參數
  常用屬性如下:
  ParameterName:參數名稱,如"@CatID"。
  DbType,SqlType,OleDbType:參數的數據類型。
  Direction:ParameterDirection枚舉值。
                   ParameterDirection.Input(默認值)| ParameterDirection.InputOutput |
                   ParameterDirection.Output | ParameterDirection.ReturnValue

  3.執行
  四種執行方式:
ExecuteNonQuery() 返回受命令影響的行數。
ExecuteScalar()   返回第一行第一列(使用與集函數)。如Count(*),Sum,Avg等聚合函數。       
ExecuteReader() 返回一個DataReader對象。如果SQL不是查詢Select,則返回一個沒有任何數據的System.Data.SqlClient.SqlDataReader類型的集合(EOF)。
ExecuteXmlReader()返回一個XmlReader對象。

  4.參數化查詢
ExpandedBlockStart.gif
None.gifstring strConn, strSQL;
None.gifstrConn 
= "Provider=SQLOLEDB;Data Source=(local)//NetSDK;Initial Catalog=Northwind;Trusted_Connection=Yes;";
None.gifOleDbConnection cn 
= new OleDbConnection(strConn);
None.gifcn.Open();
None.gifstrSQl 
= "SELECT OrderID,CustomerID,EmployeeID,OrderDate FROM Order WHERE CustomerID = ?";
None.gifOleDbCommand cmd 
= new OleDbCommand(strSQl,cn);
None.gifcmd.Parameters.Add(
"@CustomerID",OleDbType.Wchar,5);
None.gifcmd.Parameters[
0].Value = "ALFKI";
None.gifOleDbDataReader rdr 
= cmd.ExecuteReader();
注:SQL Server .Net數據提供程序不支持通用的參數標記"?",而需要用"@"做前綴來命名參數。
發佈了96 篇原創文章 · 獲贊 2 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章