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

首頁 > 學院 > 開發(fā)設計 > 正文

ASP.NET中利用存儲過程實現(xiàn)模糊查詢

2019-11-18 19:25:18
字體:
來源:轉載
供稿:網(wǎng)友

  一、建立存儲過程

  在MSSQL中的Northwind數(shù)據(jù)庫中為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控件選擇屬性生成器,然后在打開的窗口中選擇列,去掉自動創(chuàng)建列前的對勾,再向選定列中添加一個綁定列將頁眉設為LastName,將數(shù)據(jù)字段設為LastName。點擊確定。

  三、創(chuàng)建中間數(shù)據(jù)層

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

Imports System.Data.SqlClient
Public Class Class1
 Dim scon As New SqlConnection("server=localhost;database=northwind;uid=sa;pwd=123")

 '創(chuàng)建一個進行查詢的過程
 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
  '定義一個數(shù)據(jù)適配器,并設置參數(shù)
  Dim sda As New SqlDataAdapter(scom)
  sda.SelectCommand.Parameters.Add("@lastname", SqlDbType.NVarChar).Value = lastname
  '定義一個數(shù)據(jù)集對象,并填充數(shù)據(jù)集
  Dim ds As New DataSet
  Try
   sda.Fill(ds)
  Catch ex As Exception
  End Try
  Return ds
  End Function
End Class

  四、引用中間數(shù)據(jù)層(類庫)

  在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>")

  '創(chuàng)建一個新的類實例,并調用查詢過程綁定數(shù)據(jù)
  Dim myCla As New ClaSql.Class1

  DataGrid1.DataSource = myCla.Emp_Sel(lastname)
  DataGrid1.DataBind()
 End Sub
End Class

  六:注意事項

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

  1、使用儲存過程

  2、不要使用SA賬戶

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

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

  5、對數(shù)據(jù)庫的操作應該盡量將其封裝到中間層(類庫)中,這樣即可以實現(xiàn)代碼的重用,也方便以后的進行修改。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 长海县| 霍林郭勒市| 陕西省| 台南市| 天台县| 黑山县| 云霄县| 海淀区| 扎兰屯市| 云和县| 文安县| 神池县| 舒兰市| 老河口市| 潮安县| 宜宾县| 吉木乃县| 西畴县| 邻水| 天峻县| 禹州市| 确山县| 剑河县| 汤阴县| 吉安市| 南康市| 三原县| 嘉黎县| 嫩江县| 新河县| 五台县| 沧州市| 屏东市| 子洲县| 泰宁县| 崇州市| 通州市| 交城县| 保康县| 共和县| 纳雍县|