古詩詞大全網 - 成語解釋 - ADO.NET中的五個主要對象

ADO.NET中的五個主要對象

 Connection 物件? Connection 對象主要是開啟程序和數據庫之間的連結 沒有利用連結對象將數據庫打開 是無法從數據庫中取得數據的 這個物件在ADO NET 的最底層 我們可以自己產生這個對象 或是由其它的對象自動產生

 Command 物件? Command 對象主要可以用來對數據庫發出壹些指令 例如可以對數據庫下達查詢 新增 修改 刪除數據等指令 以及呼叫存在數據庫中的預存程序等 這個對象是架構在Connection 對象上 也就是Command 對象是透過連結到數據源

 DataAdapter 物件? DataSetCommand 對象主要是在數據源以及DataSet 之間執行數據傳輸的工作 它可以透過Command 對象下達命令後 並將取得的數據放入DataSet 對象中 這個對象是架構在Command對象上 並提供了許多配合DataSet 使用的功能 在Beta 版中DataSetCommand 物件會更名為DataAdapter

 DataSet 物件? DataSet 這個對象可以視為壹個暫存區(Cache) 可以把從數據庫中所查詢到的數據保留起來 甚至可以將整個數據庫顯示出來 DataSet 的能力不只是可以儲存多個Table 而已 還可以透過DataSetCommand 對象取得壹些例如主鍵等的數據表結構 並可以記錄數據表間的關聯 DataSet 對象可以說是ADO NET 中重量級的對象 這個對象架構在DataSetCommand 對象上 本身不具備和數據源溝通的能力 也就是說我們是將DataSetCommand 對象當做DataSet 對象以及數據源間傳輸數據的橋梁

 DataReader 物件? 當我們只需要循序的讀取數據而不需要其它操作時 可以使用DataReader 對象 DataReader對象只是壹次壹筆向下循序的讀取數據源中的數據 而且這些數據是只讀的 並不允許作其它的操作 因為DataReader 在讀取數據的時候限制了每次只讀取壹筆 而且只能只讀 所以使用起來不但節省資源而且效率很好 使用DataReader 對象除了效率較好之外 因為不用把數據全部傳回 故可以降低網絡的負載

 ADO NET? 使用Connection? 對象來連接數據庫 使用Command? 或DataAdapter對象來執行SQL語句 並將執行的結果返回給DataReader? 或? DataAdapter? 然後再使用取得的DataReader? 或DataAdapter? 對象操作數據結果 ? Connection? 對象? 建立Connection? 對象的代碼 OLEDB: OleDbConnection? MyConnection=new? OleDbConnection(); SQL:? SqlConnection? MyConnection=new? SqlConnection(); ◆他們的ConnectionString屬性 獲取或設置連接語句 ? MyConnection ConnectionString= server=(local);database=pubs;uid=sa;pwd= ; ◆DataBase? 屬性 獲取當前打開數據庫 ◆DataSource屬性 獲取打開數據庫的連接實例 ◆Open? 方法 打開連接 ? ◆Close? 方法 關閉連接 ? Command與DataReader? 對象 Command? 對象中包含了提交數據庫系統的訪問信息 OleDbCommand? 與SqlCommand? 對象 它們的基本對象和操作方法是相同的 在此介紹OleDbCommand的用法 SqlCommand的用法類推即可 如 ? OleDbCommand myComm? =? new? OleDbCommand(strQuery myConnection); 第壹個參數是sql語句或存儲過程名 第二個參數是前面的Connection? 對象的實例 Command? 對象的只要的屬性和方法有 ◆Connection? 屬性 設置或獲取? Command對象使用的Connection? 對象實例 ◆CommandText? 屬性 設置或獲取需要執行的sql語句或存儲過程名 ◆CommandType? 屬性 設置或獲取執行語句的類型 它有 個屬性值:StoredProceduce(存儲過程)? TableDirect Text(標準的SQL語句)? 默認是Text ◆Parameters? 屬性 取得參數值集合 ◆ExecuteReader? 方法 執行CommandText指定的SQL語句或存儲過程名 返回值類型為DataReader ◆ExecuteNonQuery? 方法 與ExecuteReader? 功能相同 只是返回值為執行sql語句或存儲過程受影響的記錄行數 DataReader? 的主要屬性和方法有 ◆FieldCount? 屬性 顯示當前數據記錄的字段總和 ◆IsClosed 屬性 ? 判斷DataReader? 對象是否已經關閉 ◆Close? 方法 關閉DataReader? 對象 ◆GetString方法 以String類型返回指定列中的值 ◆Getvalue? 方法 以自身的類型返回指定列中的值 ◆Getvalues? 方法 返回當前記錄所有字段的集合 ◆Read? 方法 將 光標 指向DataReader對象的下壹記錄? ? Sql連接實例 <%@? Import? Namespace= System Data ? %> <%@? Import? Namespace= System Data SqlClient ? %> <script? language= C# ? runat= server > void? Page_Load(Object? sender ? EventArgs? e)? { SqlConnection? Conn=new? SqlConnection(); ? Conn ConnectionString= server=(local);database=pubs;uid=sa;pwd= ; Conn Open(); SqlCommand? Comm=new? SqlCommand( select? *? from? Authors? Conn); SqlDataReader? dr=Comm ExecuteReader(); ? dg DataSource=dr; dg DataBind(); Conn Close(); } </script> <asp:DataGrid? id= dg ? runat= server ? /> Aeccess? 數據庫連接實例? (OleDbCommand? 和? OleDbDataReader? 使用實例) <%@? Page? Language= C# ? %> <%@? Import? Namespace= System Data %> <%@? Import? Namespace= System Data OleDb %> <script? Language= C# ? Runat= Server > OleDbDataReader? dr; public? void? Page_Load(Object? src EventArgs? e) {? string ? myConnstring= provider=Microsoft Jet OLEDB ;? Data ? Source= +Server MapPath( )+ \\DataBase\\db mdb; ; string? strSel= Select? *? from BookMark ; OleDbConnection? myConn=? new? OleDbConnection? ? (myConnstring); OleDbCommand? myComm=new? OleDbCommand(strSel myConn); ? myComm Connection Open(); dr=myComm ExecuteReader(); ? dg DataSource=dr; dg DataBind(); myConn Close(); } </script> <> <body> <form? Runat= Server > <asp:DataGrid? id= dg ? runat= server ? /> </form> </body> </>? ? ++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++?

  ? DataSet? 與DataAdapter DataReader? 對象只能實現對數據的讀取 不能完成其他的操作

lishixinzhi/Article/program/net/201311/12461