-
vb.net教程之DataView与列表或表格控件结合实现查询
DataView与列表或表格控件结合实现查询
Dba.Fill(Ds1, "score")
If Not Page.IsPostBack Then
DropDownList1.DataBind()
End If
图三 DataView与DropDownList结合实现查询 图四 DataView与ListBox结合实现查询
还要针对DropDownList 的SelectedIndexChanged事件编写下列程序:
Dim x
x = Val(DropDownList1.SelectedItem.Text)
DataView.RowFilter = "学号=" & x
Label1.DataBind()
Label2.DataBind()
Label3.DataBind()
Label4.DataBind()
这样就可以图三那样的查询功能。这里要特别注意把DropDownList的AutoPostBack属性设置为True,否则,不能实现图三那样的查询功能。图四对应的程序几乎完全一样,只要把DropDownList换成ListBox就可以了。
图五和图六则是DataView结合DataGrid实现查询的结果。在这二个实例中,我们先把数据库库中的二个字段的所有内容
图五 按钮类型为LinkButton 图六按钮类型为PushButton
分页显示在DataGrid中,然后用鼠标单击各个人的姓名时就在右边的标签框里显示他的详细成绩。要实现图五所示的功能,在设置好DataGrid的数据源、数据键字段和分页功能之后,请选择“属性生成器”中的 “列”,出现图七所示的窗口,请把“在运行时自动创建列”功能去掉,把“可用列”中的“学号”添加到“选定的列”中。把图七中“按钮列”中的“选择” 添加到“选定的列”中,然后在“文本字段”中选择“姓名”字段,在“按钮类型”中选择“LinkButton”,在“页眉文本”中输入“姓名”,具体情况见图七所示。为了显示每个人的具体成绩,我们还要在窗体中添加三个Web标签控件并把它与DataView中相应的字段进行绑定。完成后就要编写代码来实现程序的功能,窗体装载事件中的代码是:
Dba.Fill(Ds1, "score")
If Not Page.IsPostBack Then
DataGrid1.DataBind()
End If
再给DataGrid1的PageIndexChanged事件加入下列代码:
DataGrid1.CurrentPageIndex = e.NewPageIndex
DataGrid1.DataBind()
这样就可以实现图五中的分页功能。为了实现查询的功能,我们还要给DataGrid1的SelectedIndexChanged事件编写下列程序:
图七 DataGrid属性生成器中的列
Dim index As Integer
Dim key As String
index = DataGrid1.SelectedIndex
key = DataGrid1.DataKeys(index).ToString()
DataView.RowFilter = DataGrid1.DataKeyField & "='" & key & "'"
Label1.DataBind()
Label2.DataBind()
Label3.DataBind()
要实现这种操作,要求数据库必须有一个主键(也叫数据键)。如果把图七中的“按钮类型”选择为“PushButton”,则会出现图六所示的效果。
以上程序都在VB.NET+Windows2000 Server(Service Pack 2)+IIS5.0下调试通过,从这些程序我们可以看到:DataView在Web数据库查询上非常有用,利用它我们设计各种ASP.NET查询程序。当你准备把VB.NET中设计好的这些程序拷贝到其它服务器上运行和调试时,请先在本机上进行编译,其方法是:选择“文件”菜单中的“生成并浏览”,这样就会在程序所在的Web文件夹中的Bin 目录下生成二个扩展名为dll的文件。如果仅仅是把程序拷贝到其它服务器上运行,则只要把扩展名为aspx的主文件、数据库文件以及Bin文件夹一起拷贝到其它服务器的任何一个虚拟目录中(或Web共享文件夹)就可以了。如果是把程序拷贝到其它服务器上去调试,则应该把所有相关的文件都拷贝过去,但虚拟目录的名称可以不一样。另外,为了避免出现找不到数据库的问题,请在程序的窗体装载事件的代码中加入语句:Dbc.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("score.mdb"),这里的Dbc是数据连接的名称, score.mdb是要访问的数据库。
(相关vb.net教程)
DropDownList、ListBox、DataGrid都是典型的列表或表格控件,把这些控件的数据源设置为DataView就可以把数据库中所有记录的某个字段的内容全部显示出来,再结合程序就可以实现查询。图三和图四实现的就是这种功能。以图三为例,把数据库连接设置之后,请在窗体中添加一个DropDownList和四个Web标签控件,然后把DropDownList的DataSource属性设置为DataView、DataTextField属性设置为学号、AutoPostBack属性设置为True,再把四个Web标签控件与DataView中相应的字段进行绑定。完成后就要编写代码来实现程序的功能,窗体装载事件中的代码是:Dba.Fill(Ds1, "score")
If Not Page.IsPostBack Then
DropDownList1.DataBind()
End If
图三 DataView与DropDownList结合实现查询 图四 DataView与ListBox结合实现查询
还要针对DropDownList 的SelectedIndexChanged事件编写下列程序:
Dim x
x = Val(DropDownList1.SelectedItem.Text)
DataView.RowFilter = "学号=" & x
Label1.DataBind()
Label2.DataBind()
Label3.DataBind()
Label4.DataBind()
这样就可以图三那样的查询功能。这里要特别注意把DropDownList的AutoPostBack属性设置为True,否则,不能实现图三那样的查询功能。图四对应的程序几乎完全一样,只要把DropDownList换成ListBox就可以了。
图五和图六则是DataView结合DataGrid实现查询的结果。在这二个实例中,我们先把数据库库中的二个字段的所有内容
图五 按钮类型为LinkButton 图六按钮类型为PushButton
分页显示在DataGrid中,然后用鼠标单击各个人的姓名时就在右边的标签框里显示他的详细成绩。要实现图五所示的功能,在设置好DataGrid的数据源、数据键字段和分页功能之后,请选择“属性生成器”中的 “列”,出现图七所示的窗口,请把“在运行时自动创建列”功能去掉,把“可用列”中的“学号”添加到“选定的列”中。把图七中“按钮列”中的“选择” 添加到“选定的列”中,然后在“文本字段”中选择“姓名”字段,在“按钮类型”中选择“LinkButton”,在“页眉文本”中输入“姓名”,具体情况见图七所示。为了显示每个人的具体成绩,我们还要在窗体中添加三个Web标签控件并把它与DataView中相应的字段进行绑定。完成后就要编写代码来实现程序的功能,窗体装载事件中的代码是:
Dba.Fill(Ds1, "score")
If Not Page.IsPostBack Then
DataGrid1.DataBind()
End If
再给DataGrid1的PageIndexChanged事件加入下列代码:
DataGrid1.CurrentPageIndex = e.NewPageIndex
DataGrid1.DataBind()
这样就可以实现图五中的分页功能。为了实现查询的功能,我们还要给DataGrid1的SelectedIndexChanged事件编写下列程序:
图七 DataGrid属性生成器中的列
Dim index As Integer
Dim key As String
index = DataGrid1.SelectedIndex
key = DataGrid1.DataKeys(index).ToString()
DataView.RowFilter = DataGrid1.DataKeyField & "='" & key & "'"
Label1.DataBind()
Label2.DataBind()
Label3.DataBind()
要实现这种操作,要求数据库必须有一个主键(也叫数据键)。如果把图七中的“按钮类型”选择为“PushButton”,则会出现图六所示的效果。
以上程序都在VB.NET+Windows2000 Server(Service Pack 2)+IIS5.0下调试通过,从这些程序我们可以看到:DataView在Web数据库查询上非常有用,利用它我们设计各种ASP.NET查询程序。当你准备把VB.NET中设计好的这些程序拷贝到其它服务器上运行和调试时,请先在本机上进行编译,其方法是:选择“文件”菜单中的“生成并浏览”,这样就会在程序所在的Web文件夹中的Bin 目录下生成二个扩展名为dll的文件。如果仅仅是把程序拷贝到其它服务器上运行,则只要把扩展名为aspx的主文件、数据库文件以及Bin文件夹一起拷贝到其它服务器的任何一个虚拟目录中(或Web共享文件夹)就可以了。如果是把程序拷贝到其它服务器上去调试,则应该把所有相关的文件都拷贝过去,但虚拟目录的名称可以不一样。另外,为了避免出现找不到数据库的问题,请在程序的窗体装载事件的代码中加入语句:Dbc.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("score.mdb"),这里的Dbc是数据连接的名称, score.mdb是要访问的数据库。
栏目列表
最新更新
python爬虫及其可视化
使用python爬取豆瓣电影短评评论内容
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比