学习网考试学习资料

Gzu521.com

Sql语句在Web页中的几个常用操作

数据库基础   点击:次   发布时间:2005-1-12   【字体: 】   来源:
GZU521.COM学习网
利用sql模糊查询存储过程实现web搜索
一、建立存储过程
在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、对数据库的操作应该尽量将其封装到中间层(类库)中,这样即可以实现代码的重用,也方便以后的进行
修改。

6、出于学习的目的下面的几个实例省略了储存过程等操作

源代码下载
http://www.fanvb.net/websample/down/sql.rar

责任编辑:gzu521

网络编程分类
ASP教程
.Net教程
Java教程
PHP教程
数据库基础
ACCESS教程
SQL Server教程
MySQL教程
Oracle教程
分类推荐信息
更多...
大类最新文章
更多...