標籤:source 它的 適配器 項目 local data dap 接下來 開啟
資料庫的使用是非常重要的技術,它幾乎跟所有的程式設計語言都有關聯。C#提供的ADO.NET資料庫訪問方式有SQL Server與 OLE DB兩種。兩者相比較,前者是針對於SQL Server資料庫的串連,所以訪問SQL Server資料庫效率會非常之高,後者可以針對廣泛的資料操作,相對來說,效率比較低。如果不涉及到資料庫的特例,他們的大致方法是一樣的。
首先,欲串連資料庫,必須有個連線物件Connection,可以有SqlConnection與OleDbConnection,具體使用哪一個連線物件,取決於你需串連的資料庫類型。下面給出兩種串連方式的代碼。
SQL Server資料訪問
string strConn ="Integrated Security=SSPI;Initial Catalog=MyDatabase;Data Source=MyDataSource ";
Integrated Security 可以設定為: True, false, yes, no ,這四個的意思很明白了,還可以設定為:sspi ,相當於 True,建議用這個代替 True。Integrated Security=SSPI 這個表示以當前WINDOWS系統使用者身去登入SQL SERVER伺服器,如果SQL SERVER伺服器不支援這種方式登入時,就會出錯。Initial Catalog後面接的是資料庫 Data Source後面接的是資源資料。
SqlConnection conn = new SqlConnection(strConn);//建立連線物件
conn.Open();//開啟串連,在實戰項目中,會將其封裝起來,再加上 conn.State == ConnectionState.Close的判斷
Ole Db資料訪問
string strConn ="Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=MyDatabase;Integrated Security=SSPI";
OleDbConnection conn=new OleDbConnection (strConn);
conn.Open();
上面的代碼如果沒有異常拋出,那就說明已經順利的串連上了資料庫。接下來就是建立DataAdapter來完成訪問資料庫的工作。DataAdapter的工作是DataSet的基礎,其內容就是建立一個DataSet與資料庫的中介層來協調訪問。同樣的根據資料庫的類型不同可以分為SqlDataAdapter與OleDbDataAdapter兩種適配器。
SqlDataAdapter adapter = new SqlDataAdapter();
string strSql = "select * from TableName";
adapter.SelectCommand = new SqlCommand(strSql,conn);
//SqlCommandBuilder myCB = new SqlCommandBuilder (adapter);
DataSet myDataSet = new DataSet ();
adapter.Fill(myDataSet,"表名");
這段代碼用到了SqlDataAdapter、DataSet、SqlCommand、SqlCommandBuilder四個對象。SqlDataAdapter的作用就是負責與資料庫的通訊訪問,同時與DataSet相連,它的內部有四個很重要的Command對象(同樣分為SqlCommand和OleDbCommand),都是訪問資料庫必用的,分別為SelectCommand、InsertCommand、UpdateCommand、DeleteCommand對象。這些Command對象便是專門用來完成對資料庫的查詢、插入、更新、刪除操作,它們就像四個大臣,在DataAdapter的控制下分別主管各自的事情。其中SelectCommand是它們四個中的老大,由它可以自動的構造產生另外的三個。構造產生的過程就是應用CommandBuilder。在這之前,我們只需要指定DataAdapter中的SelectCommand對象,就可以了。
C#資料庫編程