当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET中利用存储过程实现模糊查询

ASP.NET
asp.net GridView控件中模板列CheckBox全选、反选、取消
asp.net GridView 删除时弹出确认对话框(包括内容提示)
asp.net DropDownList 三级联动下拉菜单实现代码
asp DataTable添加列和行的三种方法
Asp.net 页面调用javascript变量的值
asp.net 长文章通过设定的行数分页
asp.net 定时间点执行任务的简易解决办法
asp.net 页面延时五秒,跳转到另外的页面
asp.net 动态输出透明gif图片
asp.net DataList与Repeater用法区别
asp.net Javascript获取CheckBoxList的value
asp.net程序在调式和发布之间图片路径问题的解决方法
asp.net下生成英文字符数字验证码的代码
asp.net 页面版文本框智能提示JSCode (升级版)
ASP.NET URL伪静态重写实现方法
ASP.NET 2.0 中Forms安全认证
asp.net 动态添加多个用户控件
asp.net Repeater显示父子表数据,无闪烁
asp.net 无法获取的内部内容,因为该内容不是文本 的解决方法
asp.net GridView排序简单实现

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 197 ::
收藏到网摘: n/a

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