欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第六章 数据库编程连接数据库PPT讲稿.ppt

    • 资源ID:44801166       资源大小:3.52MB        全文页数:45页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第六章 数据库编程连接数据库PPT讲稿.ppt

    第六章第六章 数据数据库编程程连接数据接数据库第1页,共45页,编辑于2022年,星期三本章目标本章目标了解了解ADO.NET 结构结构了解了解ADO.NET 的组件的组件使用使用Command 对象和对象和 Connection 对象对象使用使用ADO.NET 进行事务处理进行事务处理2第2页,共45页,编辑于2022年,星期三ADO.NET 简介简介 2-1中央数据库中央数据库用户需要时,可以随时访问数据用户计算机向数据库服务器发送请求客户端不同的访问方法和技术3第3页,共45页,编辑于2022年,星期三ADO.NET 简介简介 2-2.NET FrameworkSystem.Data 命名空间以 ActiveX 数据对象(ADO)为基础以 XML(扩展标记语言)为格式传送和接收数据4第4页,共45页,编辑于2022年,星期三ADO.NET 的优点的优点互操作性互操作性性能性能可伸缩性可伸缩性标准化标准化可编程能力可编程能力5第5页,共45页,编辑于2022年,星期三ADO.NET 对数据库的访问对数据库的访问(3-1)将数据传递到用户界面时,ADO.NET 采用 XML 格式数据已缓存6第6页,共45页,编辑于2022年,星期三ADO.NET 对数据库的访问对数据库的访问(3-2)对于Insert,Update,Delete 等单向操作 应用程序应用程序应用程序应用程序 数据库数据库数据库数据库1、用Connection.Open打开数据库2、用DataAdaptor.Command或者 Command.Execute 执行命令3、关闭数据库Insert用InsertCommandDelete 用DeleteCommandUpdate用UpdateCommand7第7页,共45页,编辑于2022年,星期三ADO.NET 对数据库的访问对数据库的访问(3-3)应用程序应用程序应用程序应用程序 数据库数据库数据库数据库关闭数据库1、用Connection.Open建立连接2、用DataAdaptor.SelectCommand 执行命令DataAdaptor.Fill对于对于Select的双向操作的双向操作 DataSet8第8页,共45页,编辑于2022年,星期三.NET 数据提供程序数据提供程序 5-1ConnectionConnectionCommandCommandDataReaderDataReaderDataAdapterDataAdapterADO.NETDataSet.NET Framework 数据提供程序数据提供程序 1、SQLClient2、OLEDB3、Oracle4、ODBC由以下各项组成的集合:9第9页,共45页,编辑于2022年,星期三.NET 数据提供程序数据提供程序 5-2 客户端服务器数据集2、将数据发送到数据集将数据发送到数据集A、客户端修改数据集客户端修改数据集3、数据集传递给客户端数据集传递给客户端B、将修改后的数据集将修改后的数据集传递给服务器传递给服务器1、客户端从服务器请求数据客户端从服务器请求数据1,2,3是从服务器检索数据的过程A、B是对数据库修改的过程10第10页,共45页,编辑于2022年,星期三.NET 数据提供程序数据提供程序 5-3用于用于 SQL Server 的的.NET Framework 数据提供程序数据提供程序System.Data.SqlClient 命名空间仅限于连接 SQL Server 数据库 7.0 或更高版本11第11页,共45页,编辑于2022年,星期三.NET 数据提供程序数据提供程序 5-4用于用于 OLEDB 的的.NET Framework 数据提供数据提供程序程序12第12页,共45页,编辑于2022年,星期三.NET 数据提供程序数据提供程序 5-5用于用于 ODBC 的的.NET Framework 数据提数据提供程序的命名空间供程序的命名空间用于用于 Oracle 的的.NET Framework 数据提数据提供程序的命名空间供程序的命名空间System.Data.Odbc 命名空间System.Data.OracleClient 命名空间13第13页,共45页,编辑于2022年,星期三知识点小结知识点小结使用的名称空间使用的名称空间SQL Serverusing System.Data.SqlClient OLE DB using System.Data.OleDb Oracleusing System.Data.OracleClientODBCusing System.Data.Odbc14第14页,共45页,编辑于2022年,星期三为什么使用为什么使用 Connection应用程序应用程序数据源数据源数据源数据源请求数据请求数据Connection桥梁桥梁15第15页,共45页,编辑于2022年,星期三示例示例1 代码分析代码分析关键代码回顾关键代码回顾/数据库连接字符串数据库连接字符串string connString=Data Source=.;Initial Catalog=MySchool;User ID=sa;/创建创建 Connection 对象对象SqlConnection connection=new SqlConnection(connString);/打开数据库连接打开数据库连接connection.Open();MessageBox.Show(打开数据库连接成功打开数据库连接成功);/关闭数据库连接关闭数据库连接connection.Close();MessageBox.Show(关闭数据库连接成功关闭数据库连接成功);表示本机表示本机16第16页,共45页,编辑于2022年,星期三Connection 主要成员主要成员必须显式关闭连接必须显式关闭连接属性属性说明说明ConnectionString 连接字符串连接字符串方法方法说明说明Open打开数据库连接打开数据库连接Close关闭数据库连接关闭数据库连接17第17页,共45页,编辑于2022年,星期三连接数据库步骤连接数据库步骤连接数据库的步骤:连接数据库的步骤:1、定义连接字符串、定义连接字符串2、创建、创建 Connection 对象对象3、打开与数据库的连接、打开与数据库的连接Data Source=服务器名服务器名;Initial Catalog=数据库名数据库名;User ID=用户名用户名;Pwd=密码密码SqlConnection connection=new SqlConnection(connString);连接字符串连接字符串connection.Open();没有密码,可省略没有密码,可省略18第18页,共45页,编辑于2022年,星期三Connection 对象对象命名空间命名空间对应的对应的 Connection 对象对象System.Data.SqlClient SqlConnectionSystem.Data.OleDbOleDbConnectionSystem.Data.Odbc OdbcConnectionSystem.Data.OracleClientOracleConnection不同命名空间的不同命名空间的 Connection 对象对象19第19页,共45页,编辑于2022年,星期三小结小结连接到本机的连接到本机的 pubs 数据库数据库/连接字符串连接字符串string connString=Data Source=.;Initial Catalog=pubs;User ID=sa;/创建创建Connection 对象对象 SqlConnection connection=new SqlConnection(connString);connection.Open();/打开数据库连接打开数据库连接connection.Close();/关闭数据库连接关闭数据库连接关键代码关键代码20第20页,共45页,编辑于2022年,星期三为什么使用为什么使用 Command应用程序应用程序打开数据库打开数据库处理数据处理数据数据源数据源数据源数据源Connection怎样处理数据怎样处理数据执行命令并从数据源中返回结果执行命令并从数据源中返回结果 21第21页,共45页,编辑于2022年,星期三Command 的主要成员的主要成员属性属性说明说明Connection Command对象使用的数据库连接对象使用的数据库连接CommandText执行的执行的SQL语句语句方法方法说明说明 ExecuteNonQuery执行不返回行的语句,如执行不返回行的语句,如UPDATE等等ExecuteReader返回返回DataReader对象对象ExecuteScalar返回单个值,如执行返回单个值,如执行COUNT(*)22第22页,共45页,编辑于2022年,星期三使用使用 Command 步骤步骤使用使用Command步骤:步骤:1、创建数据库连接、创建数据库连接2、定义、定义 SQL 语句语句3、创建、创建 Command 对象对象4、执行命令、执行命令SqlConnection connection=new SqlConnection(connString);string sql=SELECT COUNT(*)FROM Student;connection.Open();/打开数据库连接打开数据库连接SqlCommand command=new SqlCommand(sql,connection);int num=(int)command.ExecuteScalar();执行命令前,必须打开数据库连接!执行命令前,必须打开数据库连接!要进行类型转换!要进行类型转换!23第23页,共45页,编辑于2022年,星期三Command 对象对象用用SQL 语语句的句的Command设设置置SqlCommand Comm=new SqlCommand();Comm.CommandText=SQL 语语句句;Comm.CommandType=CommandType.Text;Comm.Connection=sqlConn;用存用存储过储过程的程的Command设设置置SqlCommand Comm=new SqlCommand();Comm.CommandText=sp_UpdateName;Comm.CommandType=CommandType.StoredProcedure;Comm.Connection=sqlConn;其中,其中,Sp_UpdateName是在是在SQL Server服服务务器上器上创创建的存建的存储过储过程程24第24页,共45页,编辑于2022年,星期三综合示例综合示例完成系统登录功能完成系统登录功能1、验证管理员的用户名和密码是否存在、验证管理员的用户名和密码是否存在2、验证通过,显示管理员主窗体、验证通过,显示管理员主窗体处理登录按钮的处理登录按钮的 Click 事件事件定义一个定义一个 ValidateUser()方法方法需要需要 Connection 和和 Command 对象对象分两步实现验证分两步实现验证:1、建立数据库连接、建立数据库连接2、验证用户是否存在、验证用户是否存在 25第25页,共45页,编辑于2022年,星期三用户验证方法框架用户验证方法框架ValidateUser()方法框架方法框架1、验证的结果:通过,不通过、验证的结果:通过,不通过返回值为返回值为 bool 型型2、方法需要:、方法需要:用户名,密码,登录类型用户名,密码,登录类型值方式传参值方式传参3、不通过的原因:、不通过的原因:用户名或密码不存在、其他原因用户名或密码不存在、其他原因引用方式传参引用方式传参public bool ValidateUser(string loginType,string loginId,string loginPwd,ref string message)26第26页,共45页,编辑于2022年,星期三用户验证方法具体实现用户验证方法具体实现第一步:建立数据库连接第一步:建立数据库连接增加增加 DBHelper 类类第二步:查询用户是否存在第二步:查询用户是否存在SELECT COUNT(*)ExecuteScalar()方法查询方法查询ValidateUser()方法具体实现方法具体实现27第27页,共45页,编辑于2022年,星期三小结小结/查询查询 Student 表使用的表使用的 SQL 语句语句string sql=string.Format(SELECT COUNT(*)FROM Student WHERE LogInId=0 AND LogInPwd=1,txtLogInId,txtLogInPwd);/使用的使用的 Command 对象对象SqlCommand command=new SqlCommand(sql,DBHelper.connection);DBHelper.connection.Open();/执行查询,返回找到的个数执行查询,返回找到的个数count=(int)command.ExecuteScalar();增加验证用户的代码增加验证用户的代码28第28页,共45页,编辑于2022年,星期三总结总结Connection 对象的什么方法用来打开和对象的什么方法用来打开和关闭数据库连接?关闭数据库连接?ExecuteScalar()方法返回什么?方法返回什么?29第29页,共45页,编辑于2022年,星期三知识点小结知识点小结Connection对象的作用对象的作用Connection对象的两种使用方法对象的两种使用方法拖拉控件拖拉控件写代码写代码四种典型的连接方式的应用名称空间和连接字符四种典型的连接方式的应用名称空间和连接字符串的写法串的写法SqlConnectionOleDbConnectionOracleConnectionOdbcConnection30第30页,共45页,编辑于2022年,星期三.NET 中的事务处理中的事务处理 3-1帐单帐单编编号号 说明说明数量数量价格价格总计总计1肥皂肥皂520 100编号:编号:12439日期:日期:2004年年10月月30日日肥皂肥皂关系表关系表数据库512439124392004 年年 10 月月 30 日日已成功地完成对一个表的操作,但是关系表尚未更新,因此,数据会出现不一致的现象成功地进行整个操作或者取消整个操作 确保事务处理是一组数据操作,这些操作要么必须全部成功,要么必须全部失败,以保证数据的一致性和完整性31第31页,共45页,编辑于2022年,星期三.NET 中的事务处理中的事务处理 3-2Begin:在执行事务处理中的任何操作之前,必须使用 Begin 命令来开始事务处理Commit:在成功将所有修改都存储于数据库时,才算是提交了事务处理Rollback:由于在事务处理期间某个操作失败,而取消事务处理已做的所有修改,这时将发生回滚事务处理命令事务处理命令32第32页,共45页,编辑于2022年,星期三.NET 中的事务处理中的事务处理 3-3类说明OdbcTransaction表示表示对对数据源数据源进进行的行的 SQL 事事务处务处理理OleDbTransaction表示表示对对数据源数据源进进行的行的 SQL 事事务处务处理理OracleTransaction表示表示对对数据数据库进库进行的事行的事务处务处理理SqlTransaction表示要表示要对对 SQL Server 数据数据库进库进行的行的 Transact-SQL 事事务处务处理理33第33页,共45页,编辑于2022年,星期三SqlTransaction 类类 3-1方法方法属性属性Save()Rollback()Commit()ConnectionSqlTransaction 类表示要对数据源进行的事务处理34第34页,共45页,编辑于2022年,星期三SqlTransaction 类类 3-2在 ADO.NET 中实现事务处理时执行的步骤顺序SqlConnection sqlConn=new SqlConnection(server=SQLDB;uid=sa;pwd=sa;database=pubs);sqlConn.Open();创建数据库连接并打开该连接SqlTransaction sqlTrans=sqlConn.BeginTransaction();使用 BeginTransaction()方法开始事务处理35第35页,共45页,编辑于2022年,星期三SqlTransaction 类类 3-3Comm.Transaction=sqlTrans;将 Command 对象的 Transaction 属性设置为事务处理对象 insertCommand=Insert into Student(Id,Name)values(200494012,“WangLi);Comm.CommandText=insertCommand;Comm.ExecuteNonQuery();执行 SQL 命令sqlTrans.Commit();如果操作过程中没有错误,则提交事务处理。如果操作过程中发生错误,则回滚已完成的所有修改sqlConn.Close();关闭连接36第36页,共45页,编辑于2022年,星期三应用程序示例应用程序示例 7-1在 VS.NET 2005 中新建一个名为Example1 的基于 Windows 的项目。将默认窗体命名为 frmFlight.cs用户界面用户界面37第37页,共45页,编辑于2022年,星期三应用程序示例应用程序示例 7-2控件名称属性值FormfrmFlightText航班航班详细详细信息信息ButtonbutAddText添加添加(&A)butModifyText修改修改(&M)butDeleteText删删除除(&D)butCancelText取消取消(&C)LabellblFlightNoText航班号:航班号:lblAirlineText航空公司:航空公司:lblDestinationText终终到站:到站:lblSourceText始始发发站:站:lblDepartureText起起飞飞:lblArrivalText到达:到达:ComboBoxcboSeatsText座位数量:座位数量:38第38页,共45页,编辑于2022年,星期三应用程序示例应用程序示例 7-3/Connection 对象和 Command 对象private SqlConnection sqlConn;private SqlCommand sqlComm;/类变量private string instrCmd;private string modCmd;private string delCmd;private void frmFlight_Load(object sender,System.EventArgs e)/初始化 connection 对象 sqlConn=new SqlConnection (server=jeny;database=Flights;uid=sa;pwd=sa);/将座位数量添加到组合框中 this.cboSeats.Items.Clear();this.cboSeats.Items.Add(“200);this.cboSeats.Items.Add(“250);this.cboSeats.Items.Add(“300);this.btnModify.Enabled=false;this.btnDelete.Enabled=false;给组合框添加项并禁用按钮初始化 connection 对象39第39页,共45页,编辑于2022年,星期三应用程序示例应用程序示例 7-4private void btnAdd_Click(object sender,System.EventArgs e)/插入命令 instrCmd=insert into FlightDetails values (+this.txtFlightCode.Text+,+this.txtAirline.Text+,“+this.txtDestination.Text+,“+this.txtSource.Text+,“+this.txtArrival.Text+,+this.txtDeparture.Text+,“+this.cboSeats.SelectedItem.ToString()+);/初始化 command 对象 sqlComm=new SqlCommand(instrCmd,sqlConn);将插入命令和 connection 对象传递给 command 对象btnAdd Click 事件处理程序 40第40页,共45页,编辑于2022年,星期三应用程序示例应用程序示例 7-5try /打开连接 sqlConn.Open();/执行插入语句 sqlComm.ExecuteNonQuery();MessageBox.Show(“已成功添加记录);/启用和禁用按钮 this.btnModify.Enabled=true;this.btnDelete.Enabled=true;this.btnAdd.Enabled=false;this.txtFlightCode.Enabled=false;catch(SqlException ex)MessageBox.Show(ex.Message);finally /关闭连接sqlConn.Close();打开连接并执行 sqlComm 中的命令btnAdd Click 事件处理程序 41第41页,共45页,编辑于2022年,星期三应用程序示例应用程序示例 7-6private void btnModify_Click(object sender,System.EventArgs e)modCmd=update FlightDetails set Airline=“+this.txtAirline.Text+,Destination=“+this.txtDestination.Text+,Source=+this.txtSource.Text+,Arrival=+this.txtArrival.Text+,Departure=+this.txtDeparture.Text+,TotalSeats=+this.cboSeats.SelectedItem.ToString()+where FlightCode like+this.txtFlightCode.Text+;sqlComm=new SqlCommand(modCmd,sqlConn);trysqlConn.Open();sqlComm.ExecuteNonQuery();MessageBox.Show(“已成功更新记录);catch(SqlException ex)MessageBox.Show(ex.Message);finally sqlConn.Close();设置更新命令btnModify Click 事件处理程序42第42页,共45页,编辑于2022年,星期三Sample Application 7-7private void btnDelete_Click(object sender,System.EventArgs e)delCmd=delete from FlightDetails where FlightCode like“+this.txtFlightCode.Text+;MessageBox.Show(delCmd);/初始化 command 对象sqlComm=new SqlCommand(delCmd,sqlConn);try/初始化 DialogResult DialogResult objDialogResult=MessageBox.Show(“您确定要删除当前记录吗?,“确认,MessageBoxButtons.YesNo);/确定用户的响应 if(objDialogResult.Equals(DialogResult.Yes)sqlConn.Open();sqlComm.ExecuteNonQuery();MessageBox.Show(“已删除记录);btnModify.Enabled=false;btnDelete Click 事件处理程序43第43页,共45页,编辑于2022年,星期三总结总结 2-1.NET framework 中的中的 ADO.NET 是一组是一组类,允许应用程序与数据库交互,以便检索和类,允许应用程序与数据库交互,以便检索和更新信息更新信息DataSet 和和.NET 数据提供程序是数据提供程序是 ADO.NET 的两个主要组件的两个主要组件每种每种.NET 数据提供程序都是由以下四个对象数据提供程序都是由以下四个对象组成:组成:ConnectionCommandDataAdapterDataReader44第44页,共45页,编辑于2022年,星期三总结总结 2-2Connection 对象用于在应用程序和数据库之对象用于在应用程序和数据库之间建立连接间建立连接Command 对象允许向数据库传递请求、检索对象允许向数据库传递请求、检索和操纵数据库中的数据和操纵数据库中的数据事务处理是一组数据操作,这些操作要么必须事务处理是一组数据操作,这些操作要么必须全部成功,要么必须全部失败,以保证数据的全部成功,要么必须全部失败,以保证数据的一致性和完整性一致性和完整性45第45页,共45页,编辑于2022年,星期三

    注意事项

    本文(第六章 数据库编程连接数据库PPT讲稿.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开