ADONET连接数据库.ppt

上传人:wuy****n92 文档编号:79019640 上传时间:2023-03-19 格式:PPT 页数:46 大小:2.23MB
返回 下载 相关 举报
ADONET连接数据库.ppt_第1页
第1页 / 共46页
ADONET连接数据库.ppt_第2页
第2页 / 共46页
点击查看更多>>
资源描述

《ADONET连接数据库.ppt》由会员分享,可在线阅读,更多相关《ADONET连接数据库.ppt(46页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、ADO.NETADO.NET连接数据库连接数据库西源软件培训中心西源软件培训中心目标u了解ADO.NET 结构u了解ADO.NET 的组件u理解Command 对象和 Connection 对象u理解ADO.NET 进行事务处理ADO.NET 简介以流的形式从文件中读写数据ADO.NET 简介以流的形式从文件中读写数据中央数据库中央数据库 要管理数据库,需要专门的软件应用程序MS-ACCESSSQL-ServerORACLEADO.NET 简介中央数据库中央数据库用户需要时,可以随时访问数据用户计算机向数据库服务器发送请求客户端不同的访问方法和技术ADO.NET 简介.NET Framewor

2、kSystem.Data 命名空间以 ActiveX 数据对象(ADO)为基础以 XML(扩展标记语言)为格式传送和接收数据ADO.NET 的优点u互操作性u性能u可伸缩性u标准化u可编程能力ADO.NET的结构ADO.NET 对数据库的访问将数据传递到用户界面时,ADO.NET 采用 XML 格式数据已缓存ADO.NET 对数据库的访问对于Insert,Update,Delete 等单向操作 应用程序应用程序应用程序应用程序 数据库数据库数据库数据库1、用Connection.Open打开数据库2、用DataAdaptor.Command或者 Command.Execute 执行命令3、关闭

3、数据库Insert用InsertCommandDelete 用DeleteCommandUpdate用UpdateCommandADO.NET 对数据库的访问应用程序应用程序应用程序应用程序 数据库数据库数据库数据库关闭数据库1、用Connection.Open建立连接2、用DataAdaptor.SelectCommand 执行命令DataAdaptor.Fill对于Select的双向操作 DataSet知识点小结u引入ADO.NET的原因uADO.NET的优缺点uADO.NET的组成结构uADO.NET对数据库的调用过程.NET 数据提供程序ConnectionConnectionComm

4、andCommandDataReaderDataReaderDataAdapterDataAdapterADO.NETDataSet.NET Framework 数据提供程序数据提供程序 1、SQLClient2、OLEDB3、Oracle4、ODBC由以下各项组成的集合:.NET 数据提供程序客户端服务器数据集2、将数据发送到数据集A、客户端修改数据集3、数据集传递给客户端B、将修改后的数据集传递给服务器1、客户端从服务器请求数据1,2,3是从服务器检索数据的过程A、B是对数据库修改的过程.NET 数据提供程序u用于 SQL Server 的.NET Framework 数据提供程序 命名空

5、间仅限于连接 SQL Server 数据库 7.0 或更高版本.NET 数据提供程序u用于 OLEDB 的.NET Framework 数据提供程序.NET 数据提供程序u用于 ODBC 的.NET Framework 数据提供程序的命名空间u用于 Oracle 的.NET Framework 数据提供程序的命名空间 命名空间 命名空间知识点小结u使用的名称空间uSQL Server using uOLE DB using uOracle using uODBC using Connection 对象.NET Framework 数据提供程序Connection 类SQL 数据提供程序SqlC

6、onnectionOLE DB 数据提供程序OleDbConnectionOracle 数据提供程序OracleConnectionODBC 数据提供程序OdbcConnection在 ADO.NET 中,必须显式关闭连接,才能释放实际的数据库连接Connection 对象方法Close()Close()Open()Open()属性ConnectionStringConnectionStringDatabaseDatabaseConnection 对象4-3单击“数据”选项卡SqlConnection拖放sqlConnection1 已添加从列表中选择 SQL Server指定用户名和密码最后

7、选择数据库如果连接成功,则会显示一则消息Connection 对象使用代码编辑器SqlConnection objSqlConnection=new SqlConnection(server=SQLDB;uid=sa;pwd=password;database=pubs);objSqlConnection.Open();objSqlConnection 创建的连接对象名称SQLDB 存储“pubs”数据库的服务器名称,也可以写成IP地址,如本地服务器可以有以下几种写法:1、(local)2、3、本地机子名称uid,pwd 用户标识和密码知识点小结uConnection对象的作用uConnect

8、ion对象的两种使用方法u拖拉控件u写代码u四种典型的连接方式的应用名称空间和连接字符串的写法uSqlConnectionuOleDbConnectionuOracleConnectionuOdbcConnectionCommand 对象数据库数据库数据库数据库Command 对象指定要对数据库执行的操作检索和操纵数据Command 对象.NET Framework 数据提供程序Command 类SQL 数据提供程序SqlCommandOLE DB 数据提供程序OleDbCommandOracle 数据提供程序OracleCommandODBC 数据提供程序OdbcCommand与数据库建立连

9、接之后,可以使用 Command 对象执行命令并从数据源返回结果Command 对象方法ExecuteNonQuery()ExecuteNonQuery()返回受影响的行数返回受影响的行数ExecuteScalar()ExecuteScalar()返回第一行第一列返回第一行第一列ExecuteReader()ExecuteReader()返回返回DataReaderDataReader类型值类型值属性CommandTextCommandText欲执行的内容,可以是欲执行的内容,可以是SQLSQL语语句或者存储过程名称句或者存储过程名称ConnectionConnectionCommandTyp

10、eCommandType命令类型命令类型Command 对象u用SQL 语句的Command设置SqlCommand objComm=new SqlCommand();objComm.CommandText=SQL 语句;objComm.CommandType=CommandType.Text;objComm.Connection=objConnection;u用存储过程的Command设置SqlCommand objComm=new SqlCommand();objComm.CommandText=“sp_DeleteName;objComm.CommandType=CommandType.

11、StoredProcedure;objComm.Connection=objConnection;Sp_DeleteName是在SQL Server服务器上创建的存储过程Command 对象 6-4单击“数据”选项卡SqlCommand拖放已添加 sqlCommand1将 sqlConnection1 设置为 sqlCommand1 的连接在 CommandText 属性中键入“Insert into FlightDetails values()”Command 对象已添加“FlightDetails”表单击该表中所有字段旁边的框,以指定要在其中插入新值的列为每一列指定新值 Command 对

12、象使用代码编辑器SqlCommand objSqlCommand=new SqlCommand(strSQL);objSqlConnection 创建的 Command 对象名称strSQL 任何有效的 SQL 语句知识点小结uCommand的作用uCommand的使用前提uConnection打开uCommand的使用方法u命令文本方式u存储过程方式uCommand返回值类型u返回受影响的行数u返回第一行第一列u返回DataReader.NET 中的事务处理帐单帐单编编号号 说明说明数量数量价格价格总计总计1肥皂肥皂520 100编号:编号:12439日期:日期:2004年年10月月30日日

13、肥皂肥皂关系表关系表数据库512439124392004 年年 10 月月 30 日日已成功地完成对一个表的操作,但是关系表尚未更新,因此,数据会出现不一致的现象成功地进行整个操作或者取消整个操作 确保事务处理是一组数据操作,这些操作要么必须全部成功,要么必须全部失败,以保证数据的一致性和完整性.NET 中的事务处理lBegin:在执行事务处理中的任何操作之前,必须使用 Begin 命令来开始事务处理lCommit:在成功将所有修改都存储于数据库时,才算是提交了事务处理lRollback:由于在事务处理期间某个操作失败,而取消事务处理已做的所有修改,这时将发生回滚事务处理命令事务处理命令.NE

14、T 中的事务处理类类说说明明OdbcTransaction表示对数据源进行的 SQL 事务处理OleDbTransaction 表示对数据源进行的 SQL 事务处理OracleTransaction 表示对数据库进行的事务处理SqlTransaction表示要对 SQL Server 数据库进行的 Transact-SQL 事务处理SqlTransaction 类方法属性Save()Save()Rollback()Rollback()Commit()Commit()ConnectionConnectionSqlTransaction 类表示要对数据源进行的事务处理SqlTransaction

15、类在 ADO.NET 中实现事务处理时执行的步骤顺序SqlConnection objSqlConnection=new SqlConnection(server=SQLDB;uid=sa;pwd=password;database=pubs);objSqlConnection.Open();创建数据库连接并打开该连接SqlTransaction objSqlTransaction=objSqlConnection.BeginTransaction();使用 BeginTransaction()方法开始事务处理SqlTransaction 类objSqlCommand.Transaction=

16、objSqlTransaction;将 Command 对象的 Transaction 属性设置为事务处理对象 insertCommand=Insert into Student(Id,Name)values(111,Jim);objSqlCommand.CommandText=insertCommand;objSqlCommand.ExecuteNonQuery();执行 SQL 命令objSqlTransaction.Commit();如果操作过程中没有错误,则提交事务处理。如果操作过程中发生错误,则回滚已完成的所有修改objSqlConnection.Close();关闭连接应用程序示例

17、在 VS.NET 2003 中新建一个名为示例 1 的基于 Windows 的项目。将默认窗体重命名为 frmFlight.cs用户界面用户界面应用程序示例控件控件名称名称属性属性值值FormfrmFlightText航班详细信息ButtonbtnAddText添加(&A)btnModifyText修改(&M)btnDeleteText删除(&D)btnCancelText取消(&C)LabellblFlightCodeText航班号:lblAirlineText航空公司:lblDestinationText终到站:lblSourceText始发站:lblDepartureText起飞:lbl

18、ArrivalText到达:ComboBoxcboSeatsText座位数量:应用程序示例/Connection 对象和 Command 对象private SqlConnection objSqlConnection;private SqlCommand objSqlCommand;/类变量private string insCmd;private string modCmd;private string delCmd;private void frmFlight_Load(object sender,System.EventArgs e)/初始化 connection 对象 objSqlC

19、onnection=new SqlConnection (server=VIJAYK;database=Flights;uid=sa;pwd=playware);/将座位数量添加到组合框中();this.cboSeats.Items.Add(100);this.cboSeats.Items.Add(150);this.cboSeats.Items.Add(200);=false;=false;给组合框添加项并禁用按钮初始化 connection 对象应用程序示例private void btnAdd_Click(object sender,System.EventArgs e)/插入命令 in

20、sCmd=insert into FlightDetails values (+,+,“+,“+,“+,+,“+()+);/初始化 command 对象 objSqlCommand=new SqlCommand(insCmd,objSqlConnection);将插入命令和 connection 对象传递给 command 对象btnAdd Click 事件处理程序 应用程序示例 7-5try /打开连接 objSqlConnection.Open();/执行插入语句 objSqlCommand.ExecuteNonQuery();MessageBox.Show(“已成功添加记录);/启用和禁

21、用按钮 =true;=true;=false;=false;catch(SqlException ex)MessageBox.Show(ex.Message);finally /关闭连接objSqlConnection.Close();打开连接并执行 objSqlCommand 中的命令btnAdd Click 事件处理程序 应用程序示例 7-6private void btnModify_Click(object sender,System.EventArgs e)modCmd=update FlightDetails set Airline=“+,Destination=“+,Source

22、=+,Arrival=+,Departure=+,TotalSeats=+()+where FlightCode like+;objSqlCommand=new SqlCommand(modCmd,objSqlConnection);tryobjSqlConnection.Open();objSqlCommand.ExecuteNonQuery();MessageBox.Show(“已成功更新记录);catch(SqlException ex)MessageBox.Show(ex.Message);finally objSqlConnection.Close();设置更新命令btnModify

23、 Click 事件处理程序Sample Application 7-7private void btnDelete_Click(object sender,System.EventArgs e)delCmd=delete from FlightDetails where FlightCode like“+;MessageBox.Show(delCmd);/初始化 command 对象objSqlCommand=new SqlCommand(delCmd,objSqlConnection);try/初始化 DialogResult DialogResult objDialogResult=Mes

24、sageBox.Show(“您确定要删除当前记录吗?,“确认,MessageBoxButtons.YesNo);/确定用户的响应 if(objDialogResult.Equals(DialogResult.Yes)objSqlConnection.Open();objSqlCommand.ExecuteNonQuery();MessageBox.Show(“已删除记录);btnModify.Enabled=false;btnDelete Click 事件处理程序总结u.NET framework 中的 ADO.NET 是一组类,允许应用程序与数据库交互,以便检索和更新信息uDataSet 和.NET 数据提供程序是 ADO.NET 的两个主要组件u每种.NET 数据提供程序都是由以下四个对象组成:uConnectionuCommanduDataAdapteruDataReader总结uConnection 对象用于在应用程序和数据库之间建立连接uCommand 对象允许向数据库传递请求、检索和操纵数据库中的数据u事务处理是一组数据操作,这些操作要么必须全部成功,要么必须全部失败,以保证数据的一致性和完整性

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com