幾種常見的資料庫連線方法

園封記憶發表於2013-08-26

幾種常見的資料庫連線方法

 

一、連線Access資料庫   1.使用已有DSN的連線字串進行連線(ODBC)

//匯入名稱空間using System.Data.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)

//匯入名稱空間using System.Data.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資料庫。

 

//匯入名稱空間using System.Data.OleDb;
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連線“選項卡”,設定好正確的引數後,單擊“測試連線”。

 

使用連線字串 //匯入名稱空間using System.Data.OleDb;
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的連線字串進行連線

//匯入名稱空間using System.Data.Odbc;
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的連線字串進行連線

//匯入名稱空間using System.Data.Odbc;
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客戶端)

 

//匯入名稱空間using System.Data.OracleClient;
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

//匯入名稱空間using System.Data.Odbc;
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

 

//匯入名稱空間using System.Data.Oledb;
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

using System.Data.Odbc;
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

using System.Data.OleDb;
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

 

string connstr =@"Driver=Microsoft Text Driver(*.txt;*.csv);Dbq=c:\samplepath\;Extensions=asc,csv,tab,txt;"; OdbcConnection myConnection =new OdbcConnection(connstr); OdbcCommand myCommand =new OdbcCommand("select * from txtsample.txt",myConnection);

2.使用OLE DB.NET Data Provider

string connstr =@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\samplepath\;Extended Properties=**text;HDR=Yes;FMT=Delimited"""; OleDbConnection myConnection =new OleDbConnection(connstr); OleDbCommand myCommand =new OleDbCommand("select * from txtsample.txt",myConnection);

3.使用System.IO名稱空間   System.IO名稱空間包含的主要類: File:提供用於建立、複製、刪除、移動和開啟檔案的靜態方法(即不需要建立類的例項,可直接呼叫類的方法)。 FileInfo:提供建立、複製、刪除、移動和開啟檔案的例項方法(即需要建立類的例項,才能呼叫類的方法)。 StreamReader:從資料流中讀取字元。 StreamWriter:從資料流中寫入字元。   File類包含的主要方法 OpenText:開啟現有的txt檔案以進行讀取。 Exists:確定制定的檔案是否存在。 CreateText:建立或開啟一個檔案用於寫入。 AppendText:將txt文字追加到現有檔案。

 

<%@Import Namespace="System.IO"%><script language="C#" runat="server">protectedvoid Page_Load(Object sender, EventArgs e) { Response.Write("<h3>"+"讀取Txt檔案的簡單示例"+"<br></h3>"); //建立StreamReader類的物件 StreamReader objstreamreader; string filecont; //開啟現有的txt檔案並將其賦值給StreamReader物件 objstreamreader =File.OpenText(@"c:\txtsample.txt"); //迴圈呼叫ReadLine方法讀取txt文字,直至讀完,並將結果顯示在窗體中while(objstreamreader.Peek()!=-1) { filecont = objstreamreader.ReadLine(); Response.Write(filecont+"<br>"); } //讀取完成,關閉StreamReader類的物件 objstreamreader.Close(); } </script>
 

注:StreamReader的Peek方法能夠返回制定StreamReader物件流中的下一個字元,但不把該字元從流中刪掉;如果流中不再有文字字元可讀,則返回-1。

 

<%@Import Namespace="System.IO"%><script language="C#" runat="server">protectedvoid Page_Load(Object sender, EventArgs e) { Response.Write("<h3>"+"讀取Txt檔案的簡單示例"+"<br></h3>"); //定義新建txt文字的路徑string FILE_NAME =@"c:\sample.txt"; //如果txt檔案已存在,報錯;否則,執行寫操作if (!File.Exists(FILE_NAME)) { //建立SreamWriter物件 StreamWriter objstreamwriter; //建立txt檔案並將其賦值給StreamWriter物件 objstreamwriter = File.CreateText(FILE_NAME); //呼叫ReadLine方法向txt文字中寫入一行字元 objstreamwriter.WriteLine("Writing text successfully!"); //寫入完成,關閉StreamWriter類的物件 objstreamwriter.Close(); } else { Response.Write("已經存在此檔案!"); } } </script>
 

相關文章