C 連線不同資料庫

2021-05-23 02:31:47 字數 3785 閱讀 1786

本文列出了c#連線access、sql server、oracle、mysql、db2和sybase六種不同資料庫的程式原始碼和需要注意的點。

1.c#連線access

程式**:

using system.data;using system.data.oledb;..string strconnection="provider=microsoft.jet.oledb.4.0;";strconnection+=@"datasource=c:begaspnetnorthwind.mdb";oledbconnection objconnection=new oledbconnection(strconnection);..objconnection.open();objconnection.close();

解釋:

連線access資料庫需要匯入額外的命名空間,所以有了最前面的兩條using命令,這是必不可少的!

strconnection這個變數裡存放的是連線資料庫所需要的連線字串,他指定了要使用的資料提供者和要使用的資料來源。

「provider=microsoft.jet.oledb.4.0;」是指資料提供者,這裡使用的是microsoft jet引擎,也就是access中的資料引擎,asp.net就是靠這個和access的資料庫連線的。

「data source=c:/begaspnet/northwind.mdb」是指明資料來源的位置,他的標準形式是「data source=mydrive:mypath/myfile.mdb」。

ps:

1.「+=」後面的「@」符號是防止將後面字串中的「/」解析為轉義字元。

2.如果要連線的資料庫檔案和當前檔案在同乙個目錄下,還可以使用如下的方法連線:

3.要注意連線字串中的引數之間要用分號來分隔。

「oledbconnection objconnection=new oledbconnection(strconnection);」這一句是利用定義好的連線字串來建立了乙個鏈結物件,以後對資料庫的操作我們都要和這個物件打交道。

「objconnection.open();」這用來開啟連線。至此,與access資料庫的連線完成。

2.c#連線sql server

程式**:

using system.data;using system.data.sqlclient;..string strconnection="user id=sa;password=;";strconnection+="initial catalog=northwind;server=yoursqlserver;";strconnection+="connect timeout=30";sqlconnection objconnection=new sqlconnection(strconnection);..objconnection.open();objconnection.close();

解釋:

連線sql server資料庫的機制與連線access的機制沒有什麼太大的區別,只是改變了connection物件和連線字串中的不同引數。

首先,連線sql server使用的命名空間不是「system.data.oledb」,而是「system.data.sqlclient」。

其次就是他的連線字串了,我們乙個乙個引數來介紹(注意:引數間用分號分隔):

「user id=sa」:連線資料庫的驗證使用者名為sa。他還有乙個別名「uid」,所以這句我們還可以寫成「uid=sa」。 

「password=」:連線資料庫的驗證密碼為空。他的別名為「pwd」,所以我們可以寫為「pwd=」。

這裡注意,你的sql server必須已經設定了需要使用者名稱和密碼來登入,否則不能用這樣的方式來登入。如果你的sql server設定為windows登入,那麼在這裡就不需要使用「user id」和「password」這樣的方式來登入,而需要使用「trusted_connection=sspi」來進行登入。

「initial catalog=northwind」:使用的資料來源為「northwind」這個資料庫。他的別名為「database」,本句可以寫成「database=northwind」。

「server=yoursqlserver」:使用名為「yoursqlserver」的伺服器。他的別名為「data source」,「address」,「addr」。如果使用的是本地資料庫且定義了例項名,則可以寫為「server=(local)/例項名」;如果是遠端伺服器,則將「(local)」替換為遠端伺服器的名稱或ip位址。

「connect timeout=30」:連線超時時間為30秒。

在這裡,建立連線物件用的建構函式為:sqlconnection。

3.c#連線oracle

程式**:

using system.data.oracleclient;using system.data;//在窗體上新增乙個按鈕,叫button1,雙擊button1,輸入以下**private void button1_click(object sender, system.eventargs e)odr.close();}catch(exception ee)finally}

4.c#連線mysql

程式**:

using mysqldrivercs; // 建立資料庫連線mysqlconnection dbconn;dbconn = new mysqlconnection(new mysqlconnectionstring("localhost","mysql","root","",3306).asstring);dbconn.open(); // 執行查詢語句mysqlcommand dbcomm;dbcomm = new mysqlcommand("select host,user from user",dbconn); // 讀取資料mysqldatareader dbreader = dbcomm.executereaderex(); // 顯示資料try and user = ", dbreader.getstring(0),dbreader.getstring(1));}}finally //關閉資料庫連線dbconn.close();

5.c#連線ibm db2

程式**:

oledbconnection1.open();//開啟資料庫連線oledbdataadapter1.fill(dataset1,"address");//將得來的資料填入datasetdatagrid1.databind();//繫結資料oledbconnection1.close();//關閉連線 //增加資料庫資料在web form上新增對應字段數量個數的textbox,及乙個button,為該按鍵增加click響應事件**如下:this.oledbinsertcommand1.commandtext = "insertsintosaddress(name,email, age, address) values('"+textbox1.text+"','"+textbox2.text+"','"+textbox3.text+"','"+textbox4.text+"')";oledbinsertcommand1.connection.open();//開啟連線oledbinsertcommand1.executenonquery();//執行該sql語句oledbinsertcommand1.connection.close();//關閉連線 

6.c#連線sybase

程式**:

provider=sybase.aseoledbprovider.2;initial catalog=資料庫名;user id=使用者名稱;data source=資料來源;extended properties="";server name=ip位址;network protocol=winsock;server port address=5000;

不同資料庫的連線

mysql string driver com.mysql.jdbc.driver 驅動程式 string url jdbc mysql localhost 3306 db name useunicode true characterencoding utf 8 連線的url,db name為資料庫...

php adodb連線不同資料庫

code include adodb adodb.inc.php 包含adodb類庫檔案 conn newadoconnection postgres conn connect localhost root pass mydb 連線postgresql資料庫 複製此 code include ado...

C 連線SQL Server資料庫的不同方式

一 不同字串定義方式 1 直接定義字串並連線 static sqlconnection conn 定義連線物件 public static sqlconnection connection 連線物件的屬性 else if conn.state connectionstate.closed else ...