快速掌握ADO.NET SqlCommand對象的使用
ADO.NET經(jīng)過長時間的發(fā)展,很多用戶都很了解ADO.NET SqlCommand對象了,這里我發(fā)表一下個人理解,和大家討論討論。ADO.NET提供了多種對象模型,比較典型的以下有五種,它們?nèi)繗w類在System.Data.SqlClient名稱空間下。
ADO.NET SqlCommand對象
在ADO.NET中,有兩種操作數(shù)據(jù)庫的方式:1.無連接的方式;2.保持連接的方式。
不論采用哪種方式,都可以通過SqlCommand對象提供的方法傳遞對數(shù)據(jù)庫操作的命令,并返回命令執(zhí)行的結(jié)果。在保持連接的方式下操作數(shù)據(jù)庫的一般步驟為:創(chuàng)建SqlConnection的實例;.創(chuàng)建SqlCommand的實例;打開連接;執(zhí)行命令;關(guān)閉連接。
#T#ADO.NET SqlCommand對象提供了多種完成對數(shù)據(jù)庫操作的方法。常用的有ExecuteNonQuery該方法執(zhí)行SQL語句的結(jié)果,但不返回命令執(zhí)行的表數(shù)據(jù),僅返回操作所影響的行數(shù)。ExecuteReader,ExecuteReader方法提供了只向前的、順序的快速讀取數(shù)據(jù)庫中數(shù)據(jù)的方法。該方法根據(jù)提供的SELECT語句,返回一個可以順序讀取的SqlDataReader對象,編程者可以使用Read方法循環(huán)依次讀取每個記錄中各字段(列)的內(nèi)容。ExecuteScaler(),該方法用于執(zhí)行SELECT查詢,得到的返回結(jié)果為一個值的情況,比如使用count函數(shù)求表中記錄個數(shù)或者使用sum函數(shù)求和等。
SqlConnection對象
ADO.NET使用SqlConnection對象與SQL Server進(jìn)行連接。連接字符串的常用形式有兩種:
1.使用Windows集成安全身份認(rèn)證,例如:
- string connectionString ="IntegratedSecurity=SSPI;
- Database=MyDatabase.mdf;Server=localhost;";
或:
- string connectionString = "Initial Catalog= MyDataBase;
- Data Source=localhost;Integrated Security=SSPI;"
2.在連接字符串中指定服務(wù)器名、用戶id、用戶口令、數(shù)據(jù)庫名等信息。例如:
- string connectionString = "server=localhost; uid=sa;
- pwd=123; database=MyDatabase.mdf";
然后通過連接字符串直接創(chuàng)建SqlConnection對象,如
- SqlConnection conn = new SqlConnection(connectionString);