一、建立存储过程 在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、对数据库的操作应该尽量将其封装到中间层(类库)中,这样即可以实现代码的重用,也方便以后的进行修改。 (编辑:应用网_常德站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|