国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET中利用存儲過程實現模糊查詢

2024-07-10 12:56:07
字體:
來源:轉載
供稿:網友
  一、建立存儲過程

  在mssql中的northwind數據庫中為employess表新建存儲過程(作用按lastname進行模糊查詢):

create procedure employess_sel @lastname nvarchar (20)
as
select lastname from employees where lastname like '%' + @lastname + '%'
go
  二、窗體設計

  1、新建asp.net web應用程序,命名為websql,選擇保存路徑然后點擊確定。

  2、向窗體中添加一個label、一個textbox和一個button按鈕,然后再添加一個datagrid控件,右擊datagrid控件選擇屬性生成器,然后在打開的窗口中選擇列,去掉自動創建列前的對勾,再向選定列中添加一個綁定列將頁眉設為lastname,將數據字段設為lastname。點擊確定。

  三、創建中間數據層

  右擊解決方案,選擇新建-項目-類庫,名稱為clasql,選擇保存路徑然后點擊確定。在打開的類庫中添加以下代碼:

imports system.data.sqlclient
public class class1
 dim scon as new sqlconnection("server=localhost;database=northwind;uid=sa;pwd=123")

 '創建一個進行查詢的過程
 public function emp_sel(byval lastname as string) as dataset
  scon.open()
  scon.close()
  '定義命令對象,并使用儲存過程
  dim scom as new sqlcommand
  scom.commandtype = commandtype.storedprocedure
  scom.commandtext = "employess_sel"
  scom.connection = scon
  '定義一個數據適配器,并設置參數
  dim sda as new sqldataadapter(scom)
  sda.selectcommand.parameters.add("@lastname", sqldbtype.nvarchar).value = lastname
  '定義一個數據集對象,并填充數據集
  dim ds as new dataset
  try
   sda.fill(ds)
  catch ex as exception
  end try
  return ds
  end function
end class
  四、引用中間數據層(類庫)

  在clasql項目上右擊,選擇生成,然后在websql項目的“引用”上右擊,選擇添加引用,再選擇項目,將clasql項目添加到選定的組件框中,然后點擊確定。

  五、webform1.aspx窗體代碼設計

  打開websql項目下的webform1.aspx文件,雙擊button按鈕打開代碼窗口,完整的代碼如下:

public class webform1
 inherits system.web.ui.page
 '窗體代碼略
 '搜索按鈕事件
 private sub button1_click(byval sender as system.object, byval e as system.eventargs) handles button1.click
  '定義變量儲存文本框的輸入,出于安全的目的對其進行轉換
  dim lastname as string = textbox1.text
  lastname = lastname.replace("&", "&")
  lastname = lastname.replace("<", "")
  lastname = lastname.replace(">", "")
  lastname = lastname.replace("'", "’")
  lastname = lastname.replace("chr(13)", "<br>")
  lastname = lastname.replace("chr(10)", "<br>")

  '創建一個新的類實例,并調用查詢過程綁定數據
  dim mycla as new clasql.class1

  datagrid1.datasource = mycla.emp_sel(lastname)
  datagrid1.databind()
 end sub
end class
  六:注意事項

  出于安全等方面考慮,在對數據庫操作中應盡量采取以下措施:

  1、使用儲存過程

  2、不要使用sa賬戶

  3、要使用復雜賬戶的密碼

  4、對于數據的插入、刪除等盡量使用不同的賬戶來操作,并對每個不同賬戶只設置相應的插入或刪除等權限

  5、對數據庫的操作應該盡量將其封裝到中間層(類庫)中,這樣即可以實現代碼的重用,也方便以后的進行修改。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 称多县| 维西| 开阳县| 镇平县| 高尔夫| 和顺县| 北京市| 疏勒县| 通辽市| 二连浩特市| 静宁县| 清徐县| 石柱| 大兴区| 漳浦县| 乐至县| 阳谷县| 河西区| 玉溪市| 南漳县| 德钦县| 洛阳市| 彭阳县| 桂东县| 孝义市| 灵宝市| 犍为县| 潞西市| 苗栗市| 嵊州市| 江西省| 河北省| 达州市| 阿鲁科尔沁旗| 申扎县| 宣城市| 察隅县| 清河县| 永宁县| 桂平市| 永宁县|