連接access
首先看一個(gè)例子代碼片斷:
程序代碼:
--------------------------------------------------------------------------------
using system.data;
using system.data.oledb;
......
string strconnection="provider=microsoft.jet.oledb.4.0;";
strconnection+=@"data source=c:\begaspnet\northwind.mdb";
oledbconnection objconnection=new oledbconnection(strconnection);
......
objconnection.open();
objconnection.close();
......
--------------------------------------------------------------------------------
解釋:
連接access數(shù)據(jù)庫需要導(dǎo)入額外的命名空間,所以有了最前面的兩條using命令,這是必不可少的!
strconnection這個(gè)變量里存放的是連接數(shù)據(jù)庫所需要的連接字符串,他指定了要使用的數(shù)據(jù)提供者和要使用的數(shù)據(jù)源.
"provider=microsoft.jet.oledb.4.0;"是指數(shù)據(jù)提供者,這里使用的是microsoft jet引擎,也就是access中的數(shù)據(jù)引擎,asp.net就是靠這個(gè)和access的數(shù)據(jù)庫連接的.
"data source=c:\begaspnet\northwind.mdb"是指明數(shù)據(jù)源的位置,他的標(biāo)準(zhǔn)形式是"data source=mydrive:mypath\myfile.mdb".
ps:
1."+="后面的"@"符號是防止將后面字符串中的"\"解析為轉(zhuǎn)義字符.
2.如果要連接的數(shù)據(jù)庫文件和當(dāng)前文件在同一個(gè)目錄下,還可以使用如下的方法連接:
strconnection+="data source=";
strconnection+=mappath("northwind.mdb");
這樣就可以省得你寫一大堆東西了!
3.要注意連接字符串中的參數(shù)之間要用分號來分隔.
"oledbconnection objconnection=new oledbconnection(strconnection);"這一句是利用定義好的連接字符串來建立了一個(gè)鏈接對象,以后對數(shù)據(jù)庫的操作我們都要和這個(gè)對象打交道.
"objconnection.open();"這用來打開連接.至此,與access數(shù)據(jù)庫的連接完成.其余操作(插入,刪除...)請參閱相關(guān)書籍
連接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數(shù)據(jù)庫的機(jī)制與連接access的機(jī)制沒有什么太大的區(qū)別,只是改變了connection對象和連接字符串中的不同參數(shù).
首先,連接sql server使用的命名空間不是"system.data.oledb",而是"system.data.sqlclient".
其次就是他的連接字符串了,我們一個(gè)一個(gè)參數(shù)來介紹(注意:參數(shù)間用分號分隔):
"user id=sa":連接數(shù)據(jù)庫的驗(yàn)證用戶名為sa.他還有一個(gè)別名"uid",所以這句我們還可以寫成"uid=sa".
"password=":連接數(shù)據(jù)庫的驗(yàn)證密碼為空.他的別名為"pwd",所以我們可以寫為"pwd=".
這里注意,你的sql server必須已經(jīng)設(shè)置了需要用戶名和密碼來登錄,否則不能用這樣的方式來登錄.如果你的sql server設(shè)置為windows登錄,那么在這里就不需要使用"user id"和"password"這樣的方式來登錄,而需要使用"trusted_connection=sspi"來進(jìn)行登錄.
"initial catalog=northwind":使用的數(shù)據(jù)源為"northwind"這個(gè)數(shù)據(jù)庫.他的別名為"database",本句可以寫成"database=northwind".
"server=yoursqlserver":使用名為"yoursqlserver"的服務(wù)器.他的別名為"data source","address","addr".如果使用的是本地?cái)?shù)據(jù)庫且定義了實(shí)例名,則可以寫為"server=(local)\實(shí)例名";如果是遠(yuǎn)程服務(wù)器,則將"(local)"替換為遠(yuǎn)程服務(wù)器的名稱或ip地址.
"connect timeout=30":連接超時(shí)時(shí)間為30秒.
在這里,建立連接對象用的構(gòu)造函數(shù)為:sqlconnection.
其余的就和access沒有什么區(qū)別了!