ASP.NET中利用存储过程实现模糊查询
点击次数:22 次 发布日期:2008-11-26 16:16:17 作者:源代码网
|
源代码网推荐 在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、对数据库的操作应该尽量将其封装到中间层(类库)中,这样即可以实现代码的重用,也方便以后的进行修改。 源代码网推荐 源代码网推荐 做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。 源代码网推荐 源代码网供稿. |
