常用SQL語句參數化集合:
在不同的SQL語句中使用參數化的方式不盡相同,但一般都是用預留位置,然後用command對象添加參數如來實現,現在把常用的參數化方法列表如下:
1.select語句的參數化:使用資料庫應用最多的恐怕要是查詢語句了,他的參數化參數化方法比較常見。
strSql = "select * from table1 where Name=@name "
cmd = New SqlCommand(strSql, Conn)
cmd.Parameters.AddWithValue("rechargeteacher", StuRechargeRecord.ReacherTeacher)
其中Conn 為一個sqlconnection對象用來串連資料庫,如果有多個參數方式相同。
2.inset語句的參數化:insert語句用於向資料庫中添加一條新的記錄,他的參數化方法如下:
strSql = "insert into StuCardEnroll(StuCardNo) values(@stucardno)"
cmd = New SqlCommand(strSql, Conn)
cmd.Parameters.Add("@stucardno", SqlDbType.NVarChar, 60).Value = stuenrollrecord.StuCardNo
3.update語句的參數化,用來更新資料庫中某個欄位的值:
strSql = "update UserLogOnRecord set LogOffTime=@logofftime <a href="mailto:StuCardNo=@"">"
cmd = New SqlCommand(strSql, Conn)
cmd.Parameters.AddWithValue("logoffdate", strTodayDate)
(參數abc應該為實體類的某個屬性的值,這裡由於沒有列出實體類,所以用字串abc代替,另外這個給出的sql語句是更新表中所有記錄的LogOffTime欄位的值為給定的值,如果僅僅要更新某條記錄的該欄位值則需在語句後面給出where條件)。
參數化查詢資料顯示的兩種方法:
相信有過資料庫使用經驗的人都應該知道一般我們用sqlcommand對象和sqldatareader來進行查詢並且來判斷是否有查詢記錄,而如果是要將查詢結果顯示在介面上一般要用到的是sqldataadapter和datatable對象,(筆者一般用sqlcommand對象進行參數化查詢並不是清楚如何用dataadapter對象來進行參數化查詢,如能相告不勝感激),但是如果現在我想要用參數化查詢並且要將查詢結果顯示在表單上如何做呢,下面舉兩中小方法:
1.用datatable的load() 方法:
其實我們可以用sqlcommand對象+sqldatareader對象+datatable對象來進行資料顯示.我們用sqlcommand對象進行參數化查詢,然後然後將查詢結果賦給sqldatareader對象,最後利用datatable對象的load()方法即可將sqlreader中記錄放入datatable對象中,返回一個datatable對象即可。
2.用datatable的selectcommand方法
這種方法要比第一種簡單一點,它直接用datatable對象+sqlcommand對象完成將查詢結果放入datatable中。
cmd=new sqlcommand(sql語句,資料庫連接語句)
datatable.selectcommand=cmd,然後返回datatable對象即可。
用這種方法同樣可以實現顯示參數化查詢結果。