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、對資料庫的操作應該儘量將其封裝到中間層(類庫)中,這樣即可以實現程式碼的重用,也方便以後的進行修改。
在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、對資料庫的操作應該儘量將其封裝到中間層(類庫)中,這樣即可以實現程式碼的重用,也方便以後的進行修改。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-526843/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 儲存過程模糊查詢(like)儲存過程
- 在Oracle中查詢儲存過程和函式Oracle儲存過程函式
- 查詢儲存過程報錯資訊儲存過程
- 儲存過程結果進行查詢 select 存過過程儲存過程
- asp.net利用儲存過程分頁程式碼ASP.NET儲存過程
- Ms Sql Server查詢儲存過程中的內容SQLServer儲存過程
- SQLServer查詢使用者儲存過程SQLServer儲存過程
- 儲存過程中的符合條件查詢 and 1= ''+@knlgName+''儲存過程
- 帶有儲存過程的組合查詢儲存過程
- 儲存過程中查詢資料字典檢視(v$或dba)儲存過程
- vertica 如何實現儲存過程?儲存過程
- 查詢某個儲存過程有哪些內容儲存過程
- 【sqlserver】查詢阻塞儲存過程sp_who_lockSQLServer儲存過程
- JAVA + Oracle儲存過程返回查詢結果集JavaOracle儲存過程
- PHP實現多儲存過程呼叫PHP儲存過程
- 如何查詢一個儲存過程是否在執行儲存過程
- 查詢多張表記錄數的儲存過程儲存過程
- 實戰儲存過程排程過程儲存過程
- django 動態查詢實現過程Django
- oracle儲存過程詳解--遊標 實現增、刪、改、查Oracle儲存過程
- 在儲存過程A中呼叫儲存過程B的結果儲存過程
- sqlserver儲存過程實現多表分頁SQLServer儲存過程
- MySQL儲存過程使用if子查詢判斷需要注意MySql儲存過程
- SQL Server 2000 的分頁查詢(儲存過程)SQLServer儲存過程
- Sqlserver中的儲存過程SQLServer儲存過程
- PB中呼叫儲存過程儲存過程
- 儲存過程中拼接字串儲存過程字串
- java中呼叫儲存過程Java儲存過程
- 如何實現模糊查詢時間段
- 儲存過程中巢狀儲存過程的變數執行方式儲存過程巢狀變數
- 通用的SQL Server資料庫查詢分頁儲存過程SQLServer資料庫儲存過程
- 使用儲存過程實現分頁列印 (轉)儲存過程
- MySQL儲存過程詳解 mysql 儲存過程MySql儲存過程
- .NET使用儲存過程實現對資料庫的增刪改查儲存過程資料庫
- 儲存過程儲存過程
- jsp中呼叫儲存過程JS儲存過程
- 儲存過程中慎用 execute immediate儲存過程
- java中呼叫ORACLE儲存過程JavaOracle儲存過程