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

一、建立存儲過程
  在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)", "
")
  lastname = lastname.Replace("chr(10)", "
")
  
  '創建一個新的類實例,並調用查詢過程綁定數據
  Dim myCla As New ClaSql.Class1
  
  DataGrid1.DataSource = myCla.Emp_Sel(lastname)
  DataGrid1.DataBind()
  End Sub
  End Class
  
  六:注意事項
  出於安全等方面考慮,在對數據庫操作中應儘量採取以下措施:
  
  1、使用儲存過程
  
  2、不要使用SA賬戶
  
  3、要使用複雜賬戶的密碼
  
  4、對於數據的插入、刪除等儘量使用不同的賬戶來操作,並對每個不同賬戶只設置相應的插入或刪除等權限
  
  5、對數據庫的操作應該儘量將其封裝到中間層(類庫)中,這樣即可以實現代碼的重用,也方便以後的進行修改。

發佈了54 篇原創文章 · 獲贊 3 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章