資料庫連線

2022-09-02 05:30:10 字數 3165 閱讀 4136

1. **

1

public

class

sqlhelper213

14///

15///

執行查詢操作(sql語句有引數)

16///

17///

查詢語句

18///

查詢引數

19///

返回查詢得到的datatable

20public

static datatable getdatatablebysqlwithparam(string

sqlcommand, sqlparameter param)

2137

//return dtselected;38}

39catch

(exception ex)

4043

finally

4447}48

}49return

dtselected;50}

5152

///53

///執行查詢操作(sql語句無引數)

54///

55///

查詢語句

56///

查詢引數

57///

返回查詢得到的datatable

58public

static datatable getdatatablebysqlnoparam(string

sqlcommand)

5974

//return dtselected;75}

76catch

(exception ex)

7780

finally

8184}85

}86return

dtselected;87}

8889

///90

///執行插入,刪除,更新操作(sql語句有引數)

91///

92///

93///

94///

95public

static

int execbysqlwithparam(string

sqlcommand, sqlparameter param)

96109

catch

(exception ex)

110113

finally

114117

}118

}119

return

effectline;

120}

121122

///123

///執行插入,刪除,更新操作(sql語句無引數)

124///

125///

126///

127///

128public

static

int execbysqlnoparam(string

sqlcommand)

129142

catch

(exception ex)

143147

finally

148152

}153

}154

//return effectline;

155}

156 }

view code

2. **分析

(1)通常資料庫連線操作屬於web開發中的常用操作,故封裝成sqlhelper類

(2)為什麼要將操作分為有sql引數和無sql引數?

通常sql查詢語句要麼帶引數,要麼不帶引數,如下面所示:

select * from student;

select * from student where sno = @sno;

故將sql操作分為兩種型別 --〉產生的問題:**冗餘

--〉解決辦法:新增第三個引數,用於判定是否是帶引數的查詢語句

--〉產生新的問題:sql操作時,增加判定,從而增加操作時間

綜上:權衡考慮採用上面的**,不採用引數判定法。

3. **使用

(1)web.config資料庫配置

(a)本地配置

"

test

" connectionstring="

data source=(local)\mydatabase;initial catalog=test;user id=sa;password=*****

"/>

(b)遠端伺服器配置

"test

" connectionstring="

data source=192.169.3.4; initial catalog=test; user id=sa; password=*****

"/>

(2)sqlhelper類的使用

(a)無sql引數

string sqlcmd = "select * from student";

datatable dt = sqlhelper.getdatatablebysqlnoparam(sqlcmd);

(b)有sql引數

string sqlcmd = "select * from student where sno=@sno";

string sno = "030340814";

//亦可以新增多個引數,中間用逗號隔開

sqlparameter para = new sqlparameter

;datatable dt = sqlhelper.getdatatablebysqlwithparam(sqlcmd, para);

4. 寫**遇到的問題

(1)try,catch,finally的問題

(a)在finally中不能return某個值,只能在try塊,catch塊或者程式的最後return某個值

(b)如果在同時在try塊和catch塊中返回某個值,在程式的最後不返回該值,但是在finally塊中修改 

了該返回值。其實返回的仍然是try塊或者catch塊中的值,因為當執行到try塊或者catch塊中的 

return值時,先將它們儲存到某個臨時變數,到程式最後再取回並return

資料庫連線

第一,設定允許遠端連線,允許sql server驗證 第二,建立登陸帳戶並授權 第三,註冊sql server資料庫 c windows microsoft.net framework v2.0.50727 下執行 aspnet regsql 指令 data server sqlexpress in...

資料庫連線

php host localhost host name db user root mysql username db password root mysql password db name table database name connect to server and select data...

資料庫連線

1.c 連線連線access 程式 using system.data using system.data.oledb string strconnection provider microsoft.jet.oledb.4.0 strconnection data source c begaspne...