成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

利用SQL模糊查詢存儲過程實現Web搜索

2010-08-28 10:45:39來源:西部e網作者:

一、建立存儲過程
在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、對數據庫的操作應該盡量將其封裝到中間層(類庫)中,這樣即可以實現代碼的重用,也方便以后的進行
修改。
6、出于學習的目的下面的幾個實例省略了儲存過程等操作


源代碼下載
關鍵詞:SQL

贊助商鏈接:

主站蜘蛛池模板: 庆城县| 贵州省| 习水县| 满洲里市| 宁陕县| 鄄城县| 铜梁县| 科技| 佛山市| 阳泉市| 纳雍县| 舞钢市| 五原县| 呼伦贝尔市| 巴林左旗| 哈尔滨市| 沅江市| 河西区| 丹东市| 丰顺县| 平陆县| 东海县| 罗甸县| 台东县| 鄂托克旗| 清水河县| 云梦县| 游戏| 永春县| 镇平县| 新化县| 正蓝旗| 高州市| 怀柔区| 鄢陵县| 花垣县| 延庆县| 东光县| 丽水市| 北流市| 长寿区|