




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
WEB中运用ADO.NET,利用ADO.NET存储和检索数据ADO.NET如何引用对象添加、更改和删除行基于设计模式下在运行时创建数据库连接在列表控件中显示数据在数据库上执行命令处理事务,本资料由-大学生创业|创业|创业网减肥药排行榜|淘宝最好的减肥药|什么减肥药效果最好|减肥瘦身药|,利用ADO.NET存储和检索数据ADO.NET如何引用对象在设计模式下创建连接、适配器和数据集对象时,会为这些对象启用数据类型化,这时我们可以使用数据库架构中的专有名称来标识表、行和域。但在运行时,创建对象,我们就需要使用非类型化引用。,利用ADO.NET存储和检索数据,添加、更改和删除行基于设计模式下添加行,/对Contacts表的HomePhone列的类型化引用DataSet1.Contacts.HomePhoneColumn.Caption=Home;/对Contacts表的HomePhone列的非类型化引用DataSet1.TablesContacts.ColumnsHomePhone.Caption=Home;,/为Contacts表创建一个新的对象DataSet1.ContactsRowrowNew=(DataSet1.ContactsRow)DataSet1.Contacts.NewRow();/将数据添加到行的列中rowNew.ContactID=42;/将新行添加到数据集DataSet1.Contacts.Rows.Add(rowNew);,要更改删除数据集中的一行时,可以使用FindBy方法从表中获取一个Row对象,然后在行中进行更改删除,更改/声明一个行对象DataSet1.ContactsRowrowChange;/使用主键获取要更改的行rowChange=DataSet1.Contacts.FindByContactID(42);/更改行中的字段rowChange.WorkPhone=(555)555-9000;/删除行rowDelete.Delete();,从DataSet更新Database在处理完页面上所有的控件事件后,通常都会执行更新操作。通常在Page_PreRender事件中调用Update方法。,privatevoidPage_PreRender()/利用在DataSet对象中做的更改来更新数据库sqlDataAdapter1.Update(DataSet1);/刷新DataGridDataGrid1.DataBind();,当我们从数据集中更新数据库,ADO.NET按照以下步骤进行:1、该数据集检查每一个DataRow对象的RowState属性来确定对该数据集的更改。可能的属性值为:AddedDeletedModifiedUnchangedDetached2、调用适配器对象的InsertCommandDeletCommandUpdateCommand属性来完成数据库中做所需的更改。3、将更新后的DataRow对象的RowState属性重新设为Unchanged。见示例:ADOWebForm1,在运行时创建数据库连接1、创建连接对象2、创建数据适配器对象3、创建数据集对象4、在适配器对象上调用方法来填充或更新数据集5、使用数据绑定或其他技术显示来自该数据集的数据。,/创建数据连接SqlConnectionContactMgmt=newSqlConnection(连接字符串);/创建数据适配器SqlDataAdapteradptContactMgmt=newSqlDataAdapter(select*fromContacts,ContactMgmt);/创建数据集DataSetdsContacts=newDataSet();/填充数据集adptContactMgmt.Fill(dsContacts,Contacts);/显示数据DataGrid1.DataSource=dsContacts.TablesContacts.DefaultView;DataGrid1.DataBind();,更新运行时的数据库连接1、设置适配器对象的SelectCommand。使用其CommandText属性为InsertCommandDeleteCommandUpdateCommand属性产生设置。2、为适配器对象创建命令生成器对象以下代码连接到一个数据库,创建一个数据集,产生命令,修改数据集,然后根据更改记录来更新数据库。见示例:ADOCodeModeSql,使用Page对象Page对象控制应用程序的用户界面。提供了WEB编程时最常用的核心属性和方法。,/(1)创建数据库连接/(2)创建一个数据适配器SqlDataAdapteradptContactMgmt=newSqlDataAdapter(select*fromContacts,ContactMgmt);/(3)创建一个数据集/(4)填充数据集/(5)绑定并显示数据/(6)自动创建插入、删除和更新命令SqlCommandBuildercmdContactMgmt=newSqlCommandBuilder(adptContactMgmt);/(7)创建新行DataRowrowInsert=dsContacts.TablesContacts.NewRow();/将数据添加到行中的字段rowInsertContactID=42;/将该行添加进数据集中dsContacts.TablesContacts.Rows.Add(rowInsert);/(8)更新数据库,在列表控件中显示数据ListBoxDropDownListCheckBoxListRadioButtonList中显示数据集中项,有以下步骤:1、将控件的DataSource属性设置为数据集的名称2、将控件的DataText属性设置为数据集成员,将其作为列表项的Text属性显示3、将控件的DataValue属性设置为该数据集成员,将其作为列表项的Value属性返回4、在代码中,通过数据适配器填充该数据集并将它绑定到该控件。,以DropDownList为例:,privatevoidPage_Load()if(!IsPostBack)adaptContacts.Fill(dsContacts);foreach(dsContacts.ContactsRowdrowItemindsContacts.Contacts)ListItemlstNew=newListItem();lstNew.Text=drowItem.FirstName+“+drowItem.LastName;lstNew.Value=drowItem.ContactID.ToString();drpContacts.Items.Add(lstNew);,选择特定记录,显示内容示例DataSetViewDataSet,privatevoiddrpContacts_SelectedIndexChanged()adptCalls.SelectCommand.CommandText=“select*fromcallswhereContactID=”+drpContacts.SelectedItem.Value;dsCalls.Clear();adptCalls.Fill(dsCalls);grdCalls.DataBind();,在数据库上执行命令ExecuteScalarExecuteNonQueryExecuteReader,/获取新的唯一ContactID.intintID;SqlCommandsqlcommNewID=newSqlCommand(SELECTMAX(ContactID)+FROMContacts,sqlContactMgmt);/打开数据库连接sqlContactMgmt.Open();intID=(int)sqlcommNewID.ExecuteScalar();/为Contacts表创建新的行对象dsContacts.ContactsRowrowNew=(dsContacts.ContactsRow)dsContacts.Contacts.NewRow();/将数据添加到行的字段rowNew.ContactID=intID+1;/将该行添加到数据集中dsContacts.Contacts.AddContactsRow(rowNew);/关闭连接,删除/创建命令对象/打开连接/执行命令ExecuteNonQuery();/关闭连接查询/创建命令对象/打开连接/创建数据阅读器对象SqlDataReaderreadCalls/执行命令ExecuteReader();/显示数据while(readCalls.Read()/关闭阅读器/关闭连接,示例DataSetSqlCommandsoleCommands处理事务理解事务事务是一组被看作一个单元的数据库命令。如果命令有以下特点,它们就可以属于一个事务1、原子性它们组成一个工作单位。例如,如果一个客户搬家了,你想要数据条目运算符将所有的客户地址字段作为一个单元进行更改,而不是先更改街道,然后更改城市等。,2、一致性在一个数据库所有数据之间的关系都得到正确的维护。例如:如果客户信息根据省的税表使用税率,为该客户输入的省必须存在于这个税表中。3、隔离性其他客户所做的更改不能影响当前的更改。4、持久性一旦做了更改,就是持久的。如果在一组命令完成之前出现系统错误或电源问题,这些命令就会被撤消,而系统重新运行时,数据将恢复到其原来的状态。,事务处理对于使用数据访问的WEB应用程序而言特别重要,因为WEB应用程序是分布到很多不同的客户端的。在一个WEB应用程序中,数据库是共享的资源,分布在广大地区的大量不同客户中将出现这些关键问题:1、争夺资源2、意外失败Internet并不是最可靠的网络环境,即使你的WEB应用程序和WEB服务器是100%可靠的。客户可能因为他们的服务提供程序、电源、网络等问题而断开连接因为变量名错误,我们将不能获取所需数据。这容易查找,但如果发生在更深的结构中,问题就难发现了。,WEB应用程序生存期WEB应用程序的生存期只存在一个实例持续的时间,而且客户可以简单地在浏览器中输入新地址而随时离开你的应用程序。事务处理的一般步骤:1、开始一项事务2、处理数据库命令3、检查错误4、如果错误发生,将数据库恢复到它在事务开始时的状态;否则,就提交。,数据集事务数据集通过RejectChanges和Update方法提供事务处理。AcceptChanges方法,将数据集中的记录状态重置为未更改。,PrivatevoidPage_Load()if(!IsPostBack)adpt.Fill(dataset);Seesion“DS”=dataset;elsedataset=(dataset)Session“DS”;dataGrid.DataBind();,privatevoidgrdContact_ItemCommand()if(e.CommandName=“Delete”)intintContactID;intContactID=Convert.Int16(grdContact.Itemse.Item.ItemIndex.Cell3.Text);dataset.ContactsRowrowDel;rowDel=dataset.Contacts.FindByContactID(intContactID);rowDel.Delete();grdContact.DataBind();,ASP.NET应用,恢复:/将该数据集恢复到以前的状态dataset.RejectChanges();/刷新grdContact.DataBind();更新intintRows;intRows=adpt.Update(dataset);/将更改保存到状态变量中Session“DS”=dataset;,AcceptChanes方法阻止Update方法在数据库中完成更改,因为Update使用行的DataRowState属性来确定要在数据库中修改的行。而AcceptChanes的执行,使行的DataRowState属性改为了Unchanged。,数据库事务要使用任何一种事务对象,按以下步骤:1、打开一个数据库连接2、使用数据库连接对象的BeginTransaction方法创建事务对象3、创建命令对象来跟踪该事务,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年会策划活动方案模板图(3篇)
- 嘉兴多人团建活动方案策划(3篇)
- 泸州水下施工方案(3篇)
- 中职对口考试题库及答案
- 艺术鉴赏考试题库及答案
- 小学文明用语题目及答案
- 小区绿化及环保设施建设合同
- 看假文盲有感700字15篇
- 元宵节作文500字左右20258篇范文
- 农村环境保护和可持续发展的合作合同
- 氧化蜡行业深度研究分析报告(2024-2030版)
- 2025-2030年中国动力耳鼻喉科手术器械行业市场现状供需分析及投资评估规划分析研究报告
- 2025至2030中国建筑防腐行业发展趋势与前景分析报告
- 2025年重庆市中考化学试卷真题(含标准答案)
- 社会化服务项目方案投标文件技术方案
- 电石中控岗位操作规程
- 造型基础-全套教案课件
- 幕墙密封胶相容性检测
- 如何清洁头皮可促进头发生长
- 班主任安全管理培训
- 药品生产企业药品安全信用评价指标及评分标准
评论
0/150
提交评论