幾種常見的資料庫連線方法
一、連線Access資料庫 1.使用已有DSN的連線字串進行連線(ODBC)
protectedvoid Page_Load(Object sender,EventArgs e) { //設定連線字串 String connstr=@"DSN=sample"; //例項化Connection物件 OdbcConnection myConnection =new OdbcConnection(connstr); //執行Open方法開啟連線 myConnection.Open(); //執行SQL語句 OdbcCommand myCommand =new OdbcCommand("select * from sampletable",myConnection); //將查詢的結果賦給GridView的資料來源 gv.DataSource = myCommand.ExecuteReader(); //繫結GridView gv.DataBind(); //關閉連線 myConnection.Close(); }
2.使用無DSN的連線字串進行連線(ODBC)
protectedvoid Page_Load(Object sender,EventArgs e) { //設定連線字串 String connstr=@"Driver=Microsoft Access Driver (*.mdb);Dbq=c:\sample.mdb;"; //例項化Connection物件 OdbcConnection myConnection =new OdbcConnection(connstr); //執行Open方法開啟連線 myConnection.Open(); //執行SQL語句 OdbcCommand myCommand =new OdbcCommand("select * from sampletable",myConnection); //將查詢的結果賦給GridView的資料來源 gv.DataSource = myCommand.ExecuteReader(); //繫結GridView gv.DataBind(); //關閉連線 myConnection.Close(); }
3.使用連線字串進行連線(OLEDB) OLEDB.NET Data Provider 支援的OLEDB Provider: SQLOLEDB:用來訪問SQL Server資料庫 MSDAORA:用來訪問Oracle資料庫 Microsoft.Jet.OLEDB.4.0:用來訪問Access資料庫。
protectedvoid Page_Load(Object sender,EventArgs e) { //設定連線字串 String connstr=@"Provider=Microsoft.Jet.OleDb.4.0;Data Source=c:\sample.mdb;"; //例項化OleDbConnection物件 OleDbConnection myConnection =new OleDbConnection(connstr); //執行Open方法開啟連線 myConnection.Open(); //執行SQL語句 OleDbCommand myCommand =new OleDbCommand("select * from sampletable",myConnection); //將查詢的結果賦給GridView的資料來源 gv.DataSource = myCommand.ExecuteReader(); //繫結GridView gv.DataBind(); //關閉連線 myConnection.Close(); }
4.使用UDL檔案進行連線 使用UDL檔案連線資料來源的步驟如下: (1)新建一個記事本,其副檔名為.udl。 (2)雙擊該UDL檔案,彈出“資料連線屬性”對話方塊。 (3)該對話方塊首頁顯示“提供程式”選項卡,選擇要使用的OLEDB提供程式。 (4)單擊“下一步”,顯示"l連線“選項卡”,設定好正確的引數後,單擊“測試連線”。
protectedvoid Page_Load(Object sender,EventArgs e) { //設定連線字串 String connstr=@"FILE NAME=c:\oledb.udl"; //例項化OleDbConnection物件 OleDbConnection myConnection =new OleDbConnection(connstr); //執行Open方法開啟連線 myConnection.Open(); //執行SQL語句 OleDbCommand myCommand =new OleDbCommand("select * from sampletable",myConnection); //將查詢的結果賦給GridView的資料來源 gv.DataSource = myCommand.ExecuteReader(); //繫結GridView gv.DataBind(); //關閉連線 myConnection.Close(); }
二、連線MySQL資料庫 1.使用已有DSN的連線字串進行連線
protectedvoid Page_Load(Object sender,EventArgs e) { //設定連線字串 String connstr=@"DSN=MySQL"; //例項化Connection物件 OdbcConnection myConnection =new OdbcConnection(connstr); //執行Open方法開啟連線 myConnection.Open(); //執行SQL語句 OdbcCommand myCommand =new OdbcCommand("select * from Names",myConnection); //將查詢的結果賦給GridView的資料來源 gv.DataSource = myCommand.ExecuteReader(); //繫結GridView gv.DataBind(); //關閉連線 myConnection.Close(); }
2.使用無DSN的連線字串進行連線
protectedvoid Page_Load(Object sender,EventArgs e) { //設定連線字串 String connstr=@"Driver=MySQL ODBC 3.51 Driver;Server=localhost;Database=test;UID=root;PWD=yourpassword;Option=3;Port=3306"; //例項化Connection物件 OdbcConnection myConnection =new OdbcConnection(connstr); //執行Open方法開啟連線 myConnection.Open(); //執行SQL語句 OdbcCommand myCommand =new OdbcCommand("select * from Names",myConnection); //將查詢的結果賦給GridView的資料來源 gv.DataSource = myCommand.ExecuteReader(); //繫結GridView gv.DataBind(); //關閉連線 myConnection.Close(); }
三、連線Oracle資料庫 1.使用Oracle.NET Data Provider(需要安裝Oracle客戶端)
publicvoid Page_Load(Object sender,EventArgs e) { //設定連線字串string connstring =@"Data Source=oraclesample;User ID=oracleid;Password=oraclepwd;"; //例項化OracleConnection物件 OracleConnection conn =new OracleConnection(connstring); //開啟連線 connn.Open(); }
2.使用ODBC.NET Data Provider
publicvoid Page_Load(Object sender,EventArgs e) { //設定連線字串string connstring =@"Driver=Microsoft ODBC for Oracle;Server=oraclesample;Persisit Security Info=False;Trusted_Connection=yes;"; //例項化OracleConnection物件 OdbcConnection conn =new OdbcConnection(connstring); //開啟連線 connn.Open(); }
3.使用OLE DB.NET Data Provider
publicvoid Page_Load(Object sender,EventArgs e) { //設定連線字串string connstring =@"Provider=MSDAORA;Data Source=oraclesample;Persisit Security Info=False;Integrated Security=yes;"; //例項化OracleConnection物件 OleDbConnection conn =new OleDbConnection(connstring); //開啟連線 connn.Open(); }
四、訪問Excel 1.使用ODBC.NET Data Provider訪問Excel
protectedvoid Page_Load(Object sender,EventArgs e) { //設定連線字串string connstr =@"Driver=Microsoft Excel Driver(*.xls);Dbq=c:\excelsample.xls;"; //例項化OdbcConnection物件 OdbcConnection myConnection =new OdbcConnection(connstr); //執行Open方法開啟連線 myConnection.Open(); //執行SQL語句 OdbcCommand myCommand =new OdbcCommand("select * from [Sheet1$]",myConnection); //用GridView來顯示資料 gv.DataSource = myCommand.ExecuteReader(); gv.DataBind(); //呼叫Close方法關閉連線 myConnection.Close(); }
注:ConnectionString屬性為Driver(驅動器名),Dbq ( 訪問Excel時使用的SQL語句與訪問資料庫時使用的語句奏本相同,只是from後面的表名的寫法不同,如"select * from [Sheet1$],表示訪問的是Shee表,若要訪問Sheet2,Sheet3,替換SQL語句中的Sheetl即可。
2.使用OLE DB.NET Data Provider訪問Excel
protectedvoid Page_Load(Object sender,EventArgs e) { //設定連線字串string connstr =@"Provider=Microsoft.Jet.OleDb.4.0;Data Source=c:\excelsample.xls;Extened Properties=Excel 8.0;"; //例項化OdbcConnection物件 OleDbConnection myConnection =new OleDbConnection(connstr); //執行Open方法開啟連線 myConnection.Open(); //執行SQL語句 OleDbCommand myCommand =new OleDbCommand("select * from [Items$]",myConnection); //用GridView來顯示資料 gv.DataSource = myCommand.ExecuteReader(); gv.DataBind(); //呼叫Close方法關閉連線 myConnection.Close(); }
注:Conn}ctionString屬性為Provider(提供程式名),Data Source(Excel文家愛女實際路徑名),Extended Properties(附加屬性)。其中,Extended Properties制定一些附加的屬性,如Excel的版本(本例為Excel 8.0)和HDR值。HDR=Yes表示表格的第一行為標題,應用程式使用SQL語句查詢時不會選擇第一行的內容;HDR=No則表示應用程式會把表格中所選的全部內容(包括第一行)查詢出來。 五、訪問Txt檔案 1.使用ODBC.NET Data Provider
2.使用OLE DB.NET Data Provider
3.使用System.IO名稱空間 System.IO名稱空間包含的主要類: File:提供用於建立、複製、刪除、移動和開啟檔案的靜態方法(即不需要建立類的例項,可直接呼叫類的方法)。 FileInfo:提供建立、複製、刪除、移動和開啟檔案的例項方法(即需要建立類的例項,才能呼叫類的方法)。 StreamReader:從資料流中讀取字元。 StreamWriter:從資料流中寫入字元。 File類包含的主要方法 OpenText:開啟現有的txt檔案以進行讀取。 Exists:確定制定的檔案是否存在。 CreateText:建立或開啟一個檔案用於寫入。 AppendText:將txt文字追加到現有檔案。
注:StreamReader的Peek方法能夠返回制定StreamReader物件流中的下一個字元,但不把該字元從流中刪掉;如果流中不再有文字字元可讀,則返回-1。