广

ASP.NET

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    ASP.NET中利用存储过程实现模糊查询

    2018-05-03 14:17:25 次阅读 稿源:互联网
    广告

      一、建立存储过程

      在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、对数据库的操作应该尽量将其封装到中间层(类库)中,这样即可以实现代码的重用,也方便以后的进行修改。

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告