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

ASP.NET
一个无刷新效果定时自动更新页面的例子
ASP.NET2.0的控件状态和视图状态探讨
用好ASP.NET 2.0的URL映射
详解:如何在.NET中访问MySQL数据库?
如何实现Asp与Asp.Net共享Session
利用.net的强大功能发送email
.NET中加密与解密QueryString的方法
Asp.net生成htm静态文件的两种途径
C#定时器的使用
从XML文件中读取数据绑定到DropDownList
ASP.NET 2.0 里输出文本格式流
用.net动态创建类的实例
.Net下的MSMQ的同步异步调用
ASP.NET 2.0实现防止同一用户同时登陆
asp.NET自定义服务器控件内部细节
组合.NET数据控件构建强大用户接口
用ASP.NET 2.0 FormView控件控制显示
菜鸟也学习ASP.NET如何读取数据库内容
教你简单方便获取Web设计的免费资源
专家详解:复杂表达式的执行步骤

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 56 ::
收藏到网摘: 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、对数据库的操作应该尽量将其封装到中间层(类库)中,这样即可以实现代码的重用,也方便以后的进行修改。