2022年ASP.NET教程数据库的操作 .pdf
-
资源ID:39724260
资源大小:104.65KB
全文页数:6页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年ASP.NET教程数据库的操作 .pdf
ASP.NET 教程第五讲数据库的操作自若干年前推出开放式数据库连接(ODBC)应用程序编程接口(API)以来,出现了各种各样的数据库访问技术,而 ADO.NET 是其中最新的一种。在这过程中,发生了许多有趣的事。例如,COM 闯入数据库领域,开始培植 OLE DB 的殖民进程。然后,大致相当于 OLE DB 自动化版本的 ActiveX?Data Objects(ADO)被选来统治 Windows?数据库开发者的 Visual Basic?和 ASP 社区。通过 .NET,Microsoft 正在提供通用框架(即 Framework Class Library),其中将包括所有现有的 Windows API 甚至更多的内容。特别值得一提的是,它包括大量常用的库,而这些库现在需要通过各个 COM 对象分别获得。在这些库中,您会发现 XML 和 ADO 对象模型,它们被集成到了叫做 ADO.NET 的类子树中。ADO.NET 事实上成为构建数据感知.NET 应用程序的基础。和 ADO 不同的是,ADO.NET 遵循更通用的原则,不那么专门面向数据库。ADO.NET 集合了所有允许数据处理的类。这些类表示具有典型数据库功能(如索引、排序和视图)的数据容器对象。尽管 ADO.NET 是.NET 数据库应用程序的权威解决方案,但从总体设计上来看,它不象 ADO 模型那样以数据库为中心,这是 ADO.NET 的一大特点。ADO.NET 与 ADO 有很大差异。ADO.NET 是新的数据访问编程模型,需要开发人员的全面理解、投入和新思维。然而,一旦开始掌握 ADO.NET,您将意识到:原有的 ADO 技巧非常有助于您以不同、却更巧妙和可靠的方式来创建有效的应用程序和解决各种老问题。(以上译自 Microsoft.NET部一位官员的讲话)5.1 目前的 ADO.net目前 ADO.NET 提供了两种托管提供程序:一种用于 SQL Server 7.0 或更高版本,另一种用于其他所有您可能已经安装的 OLE DB 提供程序。在这两种情况下您分别使用不同的类,但遵循相似的命名规则。除前缀外,名称都是相同的。前一种情况前缀为 SQL,后一种情况则是 ADO。%Import Namespace=System.Data.ADO%Import Namespace=System.Data.SQL%您应该使用 SQL 类访问 SQL Server 表,因为它们直接进入数据库服务器的内部 API,跳过了由 OLE DB 提供程序表示的中间层。ADO 类是 OLE DB 提供程序上的.NET 接口,它们使用 COM Interop 桥进行工作。5.2 连接一个数据库Dim myConnection As New SQLConnection(server=localhost;uid=sa;pwd=;database=pubs)Dim myCommand As New SQLDataSetCommand(select*from Authors,myConnection)或者SQLConnection myConnection=new SQLConnection();myConnection.DataSource=localhost;myConnection.UserID=sa;myConnection.Password=;myConnection.ConnectionTimeout=30;myConnection.Open();名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 6 页 -myConnection.Database=pub;myConnection.IsolationLevel=IsolationLevel.ReadCommitted 这里我们需要讲述一下Connection的方法和属性了。ConnectionTimeout超时DataBase 缺省数据库DataSource DNS UserID 原来叫 UID Password State 取得目前连接的状态Open()打开Close()关闭5.3 操作数据库通过一个Command 对象,我们才可以对数据库进行操作Dim myConnection As SQLConnection=New SQLConnection(server=localhost;uid=sa;pwd=;database=pubs)Dim myCommand As SQLCommand=New SQLCommand(select*from Authors,myConnection)myConnection.Open()Dim dr As New SQLDataReader myCommand.Execute(dr).myConnection.Close()或者 这样做Dim myConnection As New SQLConnection(server=localhost;uid=sa;pwd=;database=pubs)Dim mycommand As New SQLCommand(_ UPDATE Authors SET phone=(800)555-5555 WHERE au_id=123-45-6789,_ myConnection)myCommand.ActiveConnection.Open()myCommand.ExecuteNonQuery()myCommand.ActiveConnection.Close()这些都是SQLCommand 的标准用法,下面列出了Command 的所有属性和相关方法。ActiveConnection 取得或设置联结Connections CommandText 执行的 SQL语句或储存过程(StoredProcedure)名CommandTimeout 超时CommandType Command 操作的类型(StoredProcedure,Text,TableDirect)三种,默认 Text Parameters 操作储存过程时使用名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 6 页 -Execute()执行 SQL语句或储存过程ExecuteNonQuery()同上,但无返回,或者说,只返回记录的数量注意:和 ASP一样,在运行完以后一定要注意关闭Connection,否则会很耗服务器资源的。5.4 数据的显示在这节的讲解前,我们先建立一个数据库,名字叫 aspnet 然后里面有一张表user 结构如下:uid username Email 1 User1 Mail1 2 User2 Mail2 3 User3 Mail3 SQL 语句 Select*From User 数据库语句 server=localhost;uid=sa;pwd=;database=aspnet 5.4.1 用 DataReader 方法显示数据有两种方法可以显示数据 DataReader方法,和DataSet 方法,而DataReader 只能储存查询数据,我们先讲用DataReader 方法显示script language=VB runat=serverSub Page_Load(Src As Object,E As EventArgs)Dim MyConnection As SQLConnection=New SQLConnection(server=localhost;uid=sa;pwd=;database=aspnet)Dim MyCommand As SQLCommand=New SQLCommand(select*from User,MyConnection)MyConnection.Open()Dim DR As SQLDataReader MyCommand.Execute(DR)MyDataGrid.DataSource=DR MyDataGrid.DataBind()MyConnection.Close()End Sub/scriptASP:DataGrid id=MyDataGrid runat=server Width=700 BackColor=#ccccff BorderColor=black ShowFooter=false CellPadding=3 CellSpacing=0 Font-Name=Verdana 名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 6 页 -Font-Size=8pt HeaderStyle-BackColor=#aaaadd/对于显示的控制,大家可以复习一下前一讲,数据的绑定,其实多联系也是一种很好的方法。在定制显示中,还有一种比较使用的方法,而不用绑定Dim DR As SQLDataReader DR字段名 的方法也可以取到数据5.4.2 用 DataSet 方法显示数据用 DataSet 记录的数据其实就是一个表,而对表的操作,只是对 DataSet 的操作,并没有改变数据库,而要到 DataSet 更新的时候,才完整的写入数据库,这个往往是新手容易忽视的地方。%Import Namespace=System.Data%Import Namespace=System.Data.SQL%html script language=VB runat=serverSub Page_Load(Src As Object,E As EventArgs)Dim DS As DataSet Dim MyConnection As SQLConnection Dim MyCommand As SQLDataSetCommand MyConnection=New SQLConnection(server=localhost;uid=sa;pwd=;database=aspnet)MyCommand=New SQLDataSetCommand(select*from User,MyConnection)DS=new DataSet()初始化 DataSet()MyCommand.FillDataSet(ds,User)FillDataSet顾名思义把整个查询内容储存进DataSet 中MyDataGrid.DataSource=ds.Tables(User).DefaultView MyDataGrid.DataBind()绑定数据End Sub/scriptbodyh3 font face=VerdanaSimple Select to a DataGrid Control/font/h3 ASP:DataGrid id=MyDataGrid runat=server Width=700 BackColor=#ccccff 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 6 页 -BorderColor=black ShowFooter=false CellPadding=3 CellSpacing=0 Font-Name=Verdana Font-Size=8pt HeaderStyle-BackColor=#aaaadd MaintainState=false/body/html 5.5 数据的添加,修改,和删除其实他们是在就是简单的不要再简单的东西。添加:DataRow dr=SQLDataSet.TablesUser.NewRow();drid=4;drusername=user4;drEmail=mail4;SQLDataSet.Tables.Rows.Add(dr);修改:SQLDataSet.Tablesuser.Rows3username=user5 删除:SQLDataSet.Tablesuser.Rows3.Delete()修改完之后,必须更新数据库SQLCommand.Update(SQLDataSet,user)5.6 关于显示中的分页问题这个问题,一再在论坛中给众人提出过,曾经是 ASP中,一个比较难解决的问题,不过在 ASP.net 中,只不过是DataGrid 的一个属性而已。AllowPaging=True 是否支持分页PageSize=10 每页显示多少PagerStyle-HorizontalAlign=Left 分页显示的定位完整的例子:asp:DataGrid id=dataGrid1 runat=server BorderColor=black BorderWidth=1 GridLines=Both CellPadding=3 CellSpacing=0 HeaderStyle-BackColor=#aaaadd AllowPaging=True 名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 6 页 -PageSize=10 PagerStyle-HorizontalAlign=Left/名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 6 页 -