第一種方法:直接通過資料庫的使用者名稱、密碼等連線到資料庫進行資料庫連線。
如:private void sqlconn()
其中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 sqlconncetion conn new sqlconnection server database pubs pwd uid sa sqlconncetion cmd new...
C 連線資料庫的三種方法
第一種方法 直接通過資料庫的使用者名稱 密碼等連線到資料庫進行資料庫連線。如 private void sqlconn 其中sqlconnection 是資料庫連線類,sqldataadapter是資料介面卡,sqlcommand是資料操作命令,即執行sql語言。說明,使用sqlconnection...
C 連線資料庫的三種方法
第一種方法 直接通過資料庫的使用者名稱 密碼等連線到資料庫進行資料庫連線。如 private void sqlconn 其中sqlconnection 是資料庫連線類,sqldataadapter是資料介面卡,sqlcommand是資料操作命令,即執行sql語言。說明,使用sqlconnection...