本文列出了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.如果要連線的資料庫檔案和當前檔案在同乙個目錄下,還可以使用如下的方法連線:
strconnection+="data source=";
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");
//將得來的資料填入dataset
datagrid1.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;
C 連線資料庫
using system using system.data using system.data.sqlclient using system.windows.forms namespace testc public void open catch exception e public void c...
c 連線資料庫
根據查詢結果儲存在資料庫伺服器端還是本地客戶端,可分兩種連線資料庫的方式 那麼這兩種方式的好壞 查詢結果儲存在資料庫伺服器 之所以要儲存在資料庫伺服器端,是因為一旦查詢結果資料量大,如果儲存在本地會占用大量的記憶體,所以該方式的優點是不佔記憶體。但對 於 資料量小情況下,還要時刻與資料庫保持連線,一...
C 連線資料庫
用sqlconnection連線sql server資料庫 引用 using dystem.data.sqlclient string constring data source ip位址 initial catalog 資料庫名稱 user id 使用者名稱 password 密碼 persist...