分享
 
 
 

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

王朝asp·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

一、建立存储过程

在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)", "")

lastname = lastname.Replace("chr(10)", "")

'创建一个新的类实例,并调用查询过程绑定数据

Dim myCla As New ClaSql.Class1

DataGrid1.DataSource = myCla.Emp_Sel(lastname)

DataGrid1.DataBind()

End Sub

End Class

六:注意事项

出于安全等方面考虑,在对数据库操作中应尽量采取以下措施:

1、使用储存过程

2、不要使用SA账户

3、要使用复杂账户的密码

4、对于数据的插入、删除等尽量使用不同的账户来操作,并对每个不同账户只设置相应的插入或删除等权限

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有