|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我觉得这个学习方法很重要。初学者应该跟我一样有同样一个毛病。那就是急于求成。很想就自己做出个小小的系统来。可真要动手,却又茫然而不知所措。为什么会这样呢?因为我们没有耐心去学习基础知识。写根本看不到什么效果的测试代码。asp.net|工具|数据|显现在进修DataSet工具的时分,我们碰到一个观点:DataView。该工具暗示对DataSet中的数据表的一种检察体例,体系默许的体例是将数据以表格的情势分列,而且数据是依据从数据表中读取数据时行分列的按次,一般和触及数据库时的SortOrder或是在SQL语句中界说的分列根据(升序或降序等)。利用DataView时分,能够依据分歧的实践情形,来利用分歧的排序根据(Sort)、过滤前提(Filter)或是查找办法(Search)。
上面这个实例,我们将使用DataView工具,显现统一个数据库中的分歧数据。
在Adodotnetweb项目里,增加一个Web窗体定名为DataView.aspx,并增加三个Button控件,分离时Button1(Text=”显现全体数据”)、Button2(Text=”只显现男生数据”)和Button3(Text=”只显现女生数据”),增加一个DataGrid控件,定名为DataView.aspx,计划窗口如.11所示。
切换至DataView.aspx的HTML窗口,次要HTML代码以下:
<formid="Form1"method="post"runat="server">
<FONTface="宋体">使用DataView过滤数据
<asp:Buttonid="Button1"style="Z-INDEX:101;LEFT:8px;POSITION:absolute;TOP:40px"runat="server"
Text="显现全体数据"Width="105px"Height="32px"></asp:Button>
<asp:Buttonid="Button2"style="Z-INDEX:102;LEFT:112px;POSITION:absolute;TOP:40px"runat="server"
Text="只显现男生数据"Width="105px"Height="32px"></asp:Button>
<asp:Buttonid="Button3"style="Z-INDEX:103;LEFT:216px;POSITION:absolute;TOP:40px"runat="server"
Text="只显现女生数据"Width="105"Height="32"></asp:Button>
<asp:DataGridid="DataGrid1"style="Z-INDEX:104;LEFT:8px;POSITION:absolute;TOP:80px"runat="server"
Width="328px"Height="128px"Font-Size="X-Small"></asp:DataGrid></FONT>
</form>
DataView.aspx的逻辑代码以下:
--------codebegin-------
ImportsSystem.Web
ImportsSystem.Data
PublicClassDataView
InheritsSystem.Web.UI.Page
#Region"Web窗体计划器天生的代码"
此处省略了窗体计划器天生的代码,以勤俭篇幅
#EndRegion
PublicrowfilterAsString="null"
声明该WebForm的全局变量,用来保留DataView工具的过滤前提,
初始化默许为null,即不外滤
PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
在此处安排初始化页的用户代码
挪用或往数据的历程
getdata()
EndSub
编写通用历程getdata,该历程用于或往数据,并依据过滤前提天生视图
Subgetdata()
在此处安排初始化页的用户代码
DimconnstrAsString声明数据库毗连字符
DimmyconAsOleDb.OleDbConnection
由于利用AeeCSS数据库,以是声明OleDConnention工具
DimmycmdAsOleDb.OleDbDataAdapter
声明DataAdapter工具
DimmysqlAsString
声明Command命令的SQL字符串
Try
connstr="provider=microsoft.jet.oledb.4.0;datasource="+Server.MapPath(".")+"StudentInfor.mdb"
为毗连字符串赋值
mycon=NewOleDb.OleDbConnection(connstr)
实例化Connection工具
mysql="Select*fromstudent"
设置SQL语句,即查询数据库中一切内容
mycmd=NewOleDb.OleDbDataAdapter(mysql,mycon)
实例化DataAdapter工具
DimmydatasetAsData.DataSet
声明DataSet工具
mydataset=NewData.DataSet
实例化DataSet工具
mycmd.Fill(mydataset,"student")
使用DataAdapter工具的Fill办法添补mydataset工具,
添补到mydataset中的数据表称号为student
DimdvAsData.DataView
dv=NewData.DataView(mydataset.Tables("student"))
mydataset.Tables(0)暗示视图创建在哪个数据表上,
Tables(0)暗示在DataSet里数据表的索引项,从0入手下手,
这条语句同等与dv=NewData.DataView(mydataset.Tables("student"))
判别过滤前提,然后依据过滤前提天生视图
SelectCaserowfilter
Case"null"
假如是"null",即为不外虑
Case"男"
dv.RowFilter="sex=男"
只显现男生数据
Case"女"
dv.RowFilter="sex=女"
只显现女生数据
EndSelect
DataGrid1.DataSource=dv
DataGrid1控件增加数据源,即mydataset工具
DataGrid1控件指定命据表
DataGrid1.DataBind()
CatchexAsException
假如呈现毛病,输入毛病信息
Response.Write("程序呈现毛病,毛病信息以下:<br>"&ex.Message)
Finally
mycon.Close()封闭数据毗连
EndTry
EndSub
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
rowfilter="null"
getdata()
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
rowfilter="男"
getdata()
EndSub
PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.Click
rowfilter="女"
getdata()
EndSub
EndClass
-------codeend-------------
保留编译后,经由过程扫瞄器预览,如.12所示。
固然,假如只是为了过滤数据,完整能够在SQL语句里到场”WhereSex=’男’”。DataView的功效是很丰厚的,它可使用多种复合把持项绑定到统一个数据表上。有乐趣的读者能够编写代码来考证,篇幅无限,这里就不再举例演示。
8.4本章小结
本章具体的先容了ADO.NET数据会见手艺。ADO.NET数据库会见手艺是新一代的数据存取手艺,它接纳离线的体例从数据库中存取数据,进步了散布式使用程序的效力和扩大性。ADO.NET的关头手艺式DataSet数据模子,在ADO.NET里,一切程序是以数据为中央的,经由过程对XML的撑持,使得ADO.NET具有优秀的扩大性和兼容性。经由过程DataSet类的内存数据库手艺,使得对服务器资本的开支降到了最低。而DataSet工具经由过程对数据格局到XML的转换,能够十拿九稳地穿透公司防火墙,或举行举行异构节点的数据传输。
在ASP.NET里,ADO.NET数据库会见手艺是数据操纵的中心和基本,在分离ASP.NET的数据绑定控件利用,将会高效地创建企业数据库使用情况。鄙人一章,我们将具体进修数据绑定控件。
就安全性而言,Java已经远远低于VB.NET,更无法与安全性著称的C#相比。 |
|