C 連線資料庫的三種方法

2021-05-26 16:35:06 字數 3058 閱讀 5902

第一種方法:直接通過資料庫的使用者名稱、密碼等連線到資料庫進行資料庫連線。

如:private void sqlconn()

sqlconncetion  conn = new sqlconnection("server=.;database=pubs;pwd=;uid=sa;");

sqlconncetion cmd = new sqlcommand("select*from [table]",cmd);

dataset  ds = new dataset();

sqldataadapter adp = new sqldataadapter(cmd);

adp.fill(ds);

其中sqlconnection 是資料庫連線類,sqldataadapter是資料介面卡,sqlcommand是資料操作命令,即執行sql語言。

說明,使用sqlconnection進行資料庫的連線,然後使用sqlcommand定義sql查詢語句,再定義乙個dataset儲存查詢的結果,而sqldataadapter是資料庫和dataset的轉換橋梁。

第二種方法:通過configurationmanager.connectionstring獲取資料庫的配置資訊。進行資料庫的連線。

如:public static int excutenonquery(string sql,params sqlparameter parameters)

string connstr = configurationmanager.connectionstrings["connstr"].conncetionstring;

using(sqlconncetion conn=new sqlconnection(connstr))

conn.open();

using(sqlcommand cmd = conn.createcommand())

cmd.commandtext = sql;

foreach(sqlparameter parameter in parameters)

cmd.parameters.add(parameter);

return cmd.executenonquery();

說明:(1) 通過string connstr=configurationmanager.connectionstring[「connstr」].connectionstring;獲得資料庫連線的一些配置資訊,即「資料來源」、「資料庫名」、「使用者名稱」、「密碼」,將這些資訊都儲存在

connstr

中。 (2) sqlconnection conn = new sqlconnection(connstr);建立乙個資料庫連線物件

conn

,連線資料庫用

conn.open()

; (3) sqlcommand cmd = new sqlcommand(「select * form [表

]」,conn);

或者string sql = 「select * from [表

]」;sqlcommand cmd = conn.createcommand();

cmd.commandtext = sql;這樣就把訪問資料庫的

sql語句存到了

cmd中

(4) 建立sqldataadapter物件和dataset物件

dataset mydataset = new dataset();建立dataset物件,

sqldataadapter mydataadapter = new sqldataadapter(cmd);建立資料介面卡物件。

(5) 填充dataset:mydataadapter.fill(mydataset);其實sqldataadapter資料介面卡起的就是乙個連線資料庫和資料集(dataset)的橋梁作用,把對資料庫操作的sql語句得到的結果傳到sqldataadapter物件中,在通過sqldataadapter.fill(dataset)方法,將結果填充到dataset中。

第三種方法:用工廠方法

dbprovide***ctory m_dbprovide***ctory = dbprovide***ctories.getfacory(configurationmanager.connectionstring[「constr」].providername);//獲取工廠

dbconnection conn = m_dbprovide***ctory.createconncetion();//建立連線

dbcommand cmd = m_dbprovide***ctory.createcommand();//建立命令

cmd.connection = conn;

cmd.commandtext = strsql;

cmd.commandtype = commandtype.text;

dbdataadapter dapter = m_dbprovide***ctory.createdataadapter();//建立介面卡

dapter.selectcommand = cmd;

dapter.fill(dataset ds = new dataset());//填充

return ds;

說明:上面的語句中用configurationmanager.connectionstring[「constr」].providername獲取了當前資料庫的名稱,因此可以適用於任何資料庫,如果這樣寫,就是不同的資料庫使用不同的語言:

sqlserver:dbprovide***ctory factory = dbprovide***ctories.getfactory("system.data.sqlclient");

oracle:dbprovide***ctory factory = dbprovide***ctories.getfactory("system.data.oracleclient");

odbc:dbprovide***ctory factory = dbprovide***ctories.getfactory("system.data.odbc");

access:dbprovide***ctory factory = dbprovide***ctories.getfactory("system.data.oledb");

C 連線資料庫的三種方法

第一種方法 直接通過資料庫的使用者名稱 密碼等連線到資料庫進行資料庫連線。如 private void sqlconn 其中sqlconnection 是資料庫連線類,sqldataadapter是資料介面卡,sqlcommand是資料操作命令,即執行sql語言。說明,使用sqlconnection...

C 連線資料庫的三種方法

第一種方法 直接通過資料庫的使用者名稱 密碼等連線到資料庫進行資料庫連線。如 private void sqlconn 其中sqlconnection 是資料庫連線類,sqldataadapter是資料介面卡,sqlcommand是資料操作命令,即執行sql語言。說明,使用sqlconnection...

C 連線資料庫的三種方法

第一種方法 直接通過資料庫的使用者名稱 密碼等連線到資料庫進行資料庫連線。如 private void sqlconn 其中sqlconnection 是資料庫連線類,sqldataadapter是資料介面卡,sqlcommand是資料操作命令,即執行sql語言。說明,使用sqlconnection...