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

原创 2005年05月08日 06:18:00
一、建立存储过程

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

asp.net利用存储过程分页代码

  • 2010年04月19日 15:05
  • 51KB
  • 下载

ASP.NET MVC + EF 利用存储过程读取大数据,1亿数据测试很OK

 看到本文的标题,相信你会忍不住进来看看!   没错,本文要讲的就是这个重量级的东西,这个不仅仅支持单表查询,更能支持连接查询,   加入一个表10W数据,另一个表也是10万数据,当你用...

asp.net下Repeater使用 AspNetPager分页控件 不用存储过程 完美实现

http://www.jb51.net/list/list_76_5.htm  自脚本之家一、AspNetPager分页控件 分页是Web应用程序中最常用到的功能之一,在ASP.NET中,虽然 自带了...
  • ttpage
  • ttpage
  • 2013年06月24日 13:49
  • 403

jqurey + json + 存储过程 + asp.net实现无刷新分页

功能通过测试一个简单的小例子。方便以后自己拷着用;没有实现海量数据分页。 1.首先是界面没啥 书名ISBN价格编号 2.前台命令页面的录入ShowBook.htm   拷入j...

asp.net gridview分页 aspnetpager插件实现 无存储过程

asp.net gridview分页 aspnetpager插件实现 无存储过程 。看了网上很多例子仍然是有很多疑惑,经过一早上的研究,其实用法很简单。可能是网上的例子,调用的方法是干啥用的没有写明白...

ASP.NET+Ajax+JQuey+Json数据+存储过程实现无刷新分页

var pageIndex=1; //当前页码 var totalPage; //总页数 $(function () { $.ajax({ ur...

asp.net调用输出参数存储过程

  • 2011年06月29日 11:38
  • 3KB
  • 下载

asp.net调用存储过程方法新解

http://www.enet.com.cn/eschool/  2007年01月10日22:04  来源:   【文章摘要】 在使用.net的过程中,数据库访问是一个很重要的部分,特别是在b/s系...
  • zzy7075
  • zzy7075
  • 2013年03月28日 17:18
  • 444
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET中利用存储过程实现模糊查询
举报原因:
原因补充:

(最多只允许输入30个字)