一、建立存儲(chǔ)過(guò)程
在MSSQL中的Northwind數(shù)據(jù)庫(kù)中為employess表新建存儲(chǔ)過(guò)程(作用按LastName進(jìn)行模糊查詢(xún)):
CREATE PROCEDURE Employess_Sel @lastname nvarchar (20)
AS
select lastname from Employees where lastname like '%' + @lastname + '%'
GO
二、窗體設(shè)計(jì)
1、新建ASP.NET Web應(yīng)用程序,命名為WebSql,選擇保存路徑然后點(diǎn)擊確定。
2、向窗體中添加一個(gè)Label、一個(gè)Textbox和一個(gè)Button按鈕,然后再添加一個(gè)DataGrid控件,右擊DataGrid控件選擇屬性生成器,然后在打開(kāi)的窗口中選擇列,去掉自動(dòng)創(chuàng)建列前的對(duì)勾,再向選定列中添加一個(gè)綁定列將頁(yè)眉設(shè)為L(zhǎng)astName,將數(shù)據(jù)字段設(shè)為L(zhǎng)astName。點(diǎn)擊確定。
三、創(chuàng)建中間數(shù)據(jù)層
右擊解決方案,選擇新建-項(xiàng)目-類(lèi)庫(kù),名稱(chēng)為ClaSQL,選擇保存路徑然后點(diǎn)擊確定。在打開(kāi)的類(lèi)庫(kù)中添加以下代碼:
Imports System.Data.SqlClient
Public Class Class1
Dim scon As New SqlConnection("server=localhost;database=northwind;uid=sa;pwd=123")
'創(chuàng)建一個(gè)進(jìn)行查詢(xún)的過(guò)程
Public Function Emp_Sel(ByVal lastname As String) As DataSet
scon.Open()
scon.Close()
'定義命令對(duì)象,并使用儲(chǔ)存過(guò)程
Dim scom As New SqlCommand
scom.CommandType = CommandType.StoredProcedure
scom.CommandText = "Employess_Sel"
scom.Connection = scon
'定義一個(gè)數(shù)據(jù)適配器,并設(shè)置參數(shù)
Dim sda As New SqlDataAdapter(scom)
sda.SelectCommand.Parameters.Add("@lastname", SqlDbType.NVarChar).Value = lastname
'定義一個(gè)數(shù)據(jù)集對(duì)象,并填充數(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ù)層(類(lèi)庫(kù))
在ClaSql項(xiàng)目上右擊,選擇生成,然后在WebSql項(xiàng)目的“引用”上右擊,選擇添加引用,再選擇項(xiàng)目,將ClaSql項(xiàng)目添加到選定的組件框中,然后點(diǎn)擊確定。
五、WebForm1.aspx窗體代碼設(shè)計(jì)
打開(kāi)WebSql項(xiàng)目下的WebForm1.aspx文件,雙擊Button按鈕打開(kāi)代碼窗口,完整的代碼如下:
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
'定義變量?jī)?chǔ)存文本框的輸入,出于安全的目的對(duì)其進(jìn)行轉(zhuǎn)換
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)建一個(gè)新的類(lèi)實(shí)例,并調(diào)用查詢(xún)過(guò)程綁定數(shù)據(jù)
Dim myCla As New ClaSql.Class1
DataGrid1.DataSource = myCla.Emp_Sel(lastname)
DataGrid1.DataBind()
End Sub
End Class
六:注意事項(xiàng)
出于安全等方面考慮,在對(duì)數(shù)據(jù)庫(kù)操作中應(yīng)盡量采取以下措施:
1、使用儲(chǔ)存過(guò)程
2、不要使用SA賬戶(hù)
3、要使用復(fù)雜賬戶(hù)的密碼
4、對(duì)于數(shù)據(jù)的插入、刪除等盡量使用不同的賬戶(hù)來(lái)操作,并對(duì)每個(gè)不同賬戶(hù)只設(shè)置相應(yīng)的插入或刪除等權(quán)限
5、對(duì)數(shù)據(jù)庫(kù)的操作應(yīng)該盡量將其封裝到中間層(類(lèi)庫(kù))中,這樣即可以實(shí)現(xiàn)代碼的重用,也方便以后的進(jìn)行修改。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com