关闭

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

标签: asp.net存储datagridwebformdatasetbutton
1361人阅读 评论(0) 收藏 举报
分类:
一、建立存储过程

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

存储过程实现模糊查询问题

create proc lyf_a  @hto nvarchar(50)=null as    select ordponumer from orderline  like N'%'+@hto+'%'   GO &#...
  • sq321
  • sq321
  • 2016-09-08 21:08
  • 1107

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

一、建立存储过程   在MSSQL中的Northwind数据库中为employess表新建存储过程(作用按LastName进行模糊查询): CREATE PROCEDURE Employess_Sel @lastname nvarchar (20) AS select lastnam...
  • u012099818
  • u012099818
  • 2013-09-12 16:40
  • 370

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

一、建立存储过程  在MSSQL中的Northwind数据库中为employess表新建存储过程(作用按LastName进行模糊查询): CREATE PROCEDURE Employess_Sel @lastname nvarchar (20)ASse...
  • moxcm
  • moxcm
  • 2006-10-30 17:22
  • 901

sql server 存储过程 实现模糊查询

 --彩票卡详细信息if exists( select * from sysobjects where name = CP_Card_BatchDetail)begin drop procedure CP_Card_BatchDetailendgocreate procedure...
  • albert522
  • albert522
  • 2007-11-02 16:26
  • 389

MYSQL中利用存储过程实现模糊查询

今做数据库课程设计时,课设要求利用存储过程实现模糊查询。第一次听到这样的要求感觉很荒谬,会不会是要求写错了。在此我为我的无知感到羞愧。废话不多说,接下来我们讲一下在MYSQL数据库中如何利用存储过程实现模糊查询呢? 假如我们在数据库中建有这样的一个表: 接下来我们直接上存储过程的sql语...
  • qq_34496399
  • qq_34496399
  • 2018-01-10 16:26
  • 119

ASP.NET利用存储过程实现模糊查询的心得

 这个问题的提出似乎没有什么太大的意义,至少我开始是这么想的,因为这个功能无非是在存储过程中使用sql语句的LIKE就可以实现模糊查询。今天与同学无意之中谈到了这个问题,他说他做过测试是不正确的,我对此也非常好奇,我大致把存储过程的语句写下来好作测试。 在MSSQL中的North...
  • lovegod12
  • lovegod12
  • 2009-03-12 17:46
  • 728

ASP.NET 模糊查询参数化

很久没碰ASP.Net了  今天开发android端接口需要 做了数据库查询: 功能需求:一个客户的模糊查询  不过就是Like嘛,这有设么难的嘛,所以一上来(其他简单的就略  你懂得!):  WhereSql.Append(" AND ...
  • jamesWQZY
  • jamesWQZY
  • 2016-05-24 16:00
  • 437

oracle 存储过程模糊查询

习惯了用微软的SQL Server2005写 T-SQL,突然使用oracle 使用PL/SQL写SQL语句,感觉很多细节都不一样,一个模糊查询写法完全不一样 T-SQL的写法: USE AdventureWorks; GO CREATE PROCEDURE F...
  • guchuanlong
  • guchuanlong
  • 2012-08-10 11:12
  • 964

MaBatis的模糊查询与存储过程

1、模糊查询 如下模糊查询语句:SELECT * FROM user WHERE name like %o% AND age BETWEEN 16 AND 20是查询名字中含字母o而且年龄在16到20岁之间的用户 如果需要在Mapper配置文件中配置,不可避免的将会使用到等标签,为了演示的方便,我们...
  • AZHELL
  • AZHELL
  • 2017-06-03 21:16
  • 411

ASP.NET中利用存储过程实现模糊查询(转自第七频道)

一、建立存储过程   在MSSQL中的Northwind数据库中为employess表新建存储过程(作用按LastName进行模糊查询):CREATE PROCEDURE Employess_Sel @lastname nvarchar (20)ASselect lastname from Empl...
  • norey_cn
  • norey_cn
  • 2005-06-06 09:47
  • 447
    个人资料
    • 访问:1095693次
    • 积分:14276
    • 等级:
    • 排名:第1028名
    • 原创:305篇
    • 转载:28篇
    • 译文:0篇
    • 评论:592条
    最新评论
    [╄ 冷枫]简介