连接数据库以及提交数据.ppt

上传人:人*** 文档编号:569878967 上传时间:2024-07-31 格式:PPT 页数:31 大小:2.32MB
返回 下载 相关 举报
连接数据库以及提交数据.ppt_第1页
第1页 / 共31页
连接数据库以及提交数据.ppt_第2页
第2页 / 共31页
连接数据库以及提交数据.ppt_第3页
第3页 / 共31页
连接数据库以及提交数据.ppt_第4页
第4页 / 共31页
连接数据库以及提交数据.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《连接数据库以及提交数据.ppt》由会员分享,可在线阅读,更多相关《连接数据库以及提交数据.ppt(31页珍藏版)》请在金锄头文库上搜索。

1、ADO.NET连接数据库以及提交数据 本章目标本章目标ADO.NET的功能:显示和更新数据库数据ADO.NET的组成:数据提供程序和数据集连接数据库使用的对象:SqlConnection处理连接数据库异常的对象:SqlException执行SQL命令使用的对象:SqlCommand执行增删改SQL命令的函数:ExecuteNonQueryADO.NET的事务处理对象:SqlTransaction MySchoolMySchool 数据库结构介绍数据库结构介绍ADO.NET ADO.NET 概述概述数据库数据库数据库数据库ADO.NET ADO.NET 概述概述数据库数据库数据库数据库使用数据库

2、存储数据使用数据库存储数据数据库访问的方法和技术数据库访问的方法和技术使用界面显示和更新数据使用界面显示和更新数据ADO.NET ADO.NET 的主要组件的主要组件ADO.NETDataSet(数据集)System.Data命名空间.NET Framework 数据提供程序 System.Data.SqlClient 命名空间只进、只读访问只进、只读访问SQL Server数据数据独立于数据源的数据访问独立于数据源的数据访问ADO.NET ADO.NET 操作数据库结构图操作数据库结构图为什么使用为什么使用ConnectionConnection应用程序应用程序数据源数据源数据源数据源请求数

3、据请求数据Connection桥梁桥梁Connection Connection 主要成员主要成员必须显式关闭连接必须显式关闭连接属性说明ConnectionString 连接字符串方法说明Open打开数据库连接Close关闭数据库连接连接数据库步骤连接数据库步骤连接数据库的步骤:1、定义连接字符串2、创建 Connection 对象3、打开与数据库的连接SQL Server身份验证:身份验证:Server=服务器名服务器名;Database=数据库名数据库名; uid=用户名用户名;pwd=密码密码Windows身份验证:身份验证:Server=服务器名服务器名;Database=数据库名数

4、据库名; Integrated Security=trueSqlConnection connection = new SqlConnection(connString);连接字符串连接字符串connection.Open( );没有密码则可省略没有密码则可省略连接数据库示例连接数据库示例连接到本机的MySchool数据库演示示例1:测试 MySchool 数据库连接示例示例1 1 代码分析代码分析/ 数据库连接字符串数据库连接字符串string connString = server=.SQLEXPRESS;database=myschool;Integrated Security=true

5、;/ 创建创建 Connection 对象对象SqlConnection connection = new SqlConnection(connString); / 打开数据库连接打开数据库连接connection.Open();MessageBox.Show(打开数据库连接成功打开数据库连接成功); / 关闭数据库连接关闭数据库连接connection.Close();MessageBox.Show(关闭数据库连接成功关闭数据库连接成功);为什么使用为什么使用 CommandCommand应用程序应用程序打开数据库打开数据库处理数据处理数据数据源数据源数据源数据源Connection怎样处理

6、数据怎样处理数据执行命令并从数据源中返回结果执行命令并从数据源中返回结果 操作数据库示例操作数据库示例查询MySchool数据库Student表中记录的数目演示示例3:查询Student表记录条数Command Command 的主要成的主要成员员属性说明Connection Command对象使用的数据库连接CommandText执行的SQL语句方法说明 ExecuteNonQuery执行不返回行的语句,如UPDATE等ExecuteReader返回DataReader对象ExecuteScalar返回单个值,如执行COUNT(*)使用使用 Command Command 步骤步骤使用Com

7、mand步骤:1、创建数据库连接2、定义 SQL 语句3、创建 Command 对象4、打开数据库连接5、执行命令SqlConnection connection = new SqlConnection(connString);string sql = SELECT COUNT(*) FROM Student;connection.Open();/ 打开数据库连接打开数据库连接SqlCommand command = new SqlCommand(sql, connection);int num = (int)command.ExecuteScalar();示例示例 3 关键代码:关键代码:执

8、行命令前,必须打开数据库连接!执行命令前,必须打开数据库连接!要进行类型转换!要进行类型转换!综合示例综合示例完成系统登录功能1、验证管理员的用户名和密码是否存在2、验证通过,显示管理员主窗体处理登录按钮的Click 事件定义一个ValidateUser() 方法需要Connection 和Command 对象分两步实现验证:1、建立数据库连接2、验证用户是否存在 用户验证方法框架用户验证方法框架ValidateUser()方法框架1、验证的结果:通过,不通过、验证的结果:通过,不通过返回值为返回值为 bool 型型2、方法需要:、方法需要: 用户名,密码,登录类型用户名,密码,登录类型值方式

9、传参值方式传参3、不通过的原因:、不通过的原因: 用户名或密码不存在、其他原因用户名或密码不存在、其他原因引用方式传参引用方式传参public bool ValidateUser(string loginType, string loginId, string loginPwd, ref string message) 演示示例4:增加方法的定义和调用用户验证方法实现步骤用户验证方法实现步骤第一步:建立数据库连接增加 DBHelper 类第二步:查询用户是否存在SELECT COUNT(*)ExecuteScalar() 方法查询ValidateUser()方法具体实现/ 查询查询 Stude

10、nt 表使用的表使用的 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.ExecuteSca

11、lar();用户验证方法具体实现用户验证方法具体实现演示示例5:用户验证方法具体实现操作数据操作数据应用程序应用程序毛毛,长沙牛耳,良好毛毛,长沙牛耳,良好 毛毛毛毛姓名:姓名:学校:学校: 长沙牛耳长沙牛耳成绩:成绩: 良好良好如何对数据库的数据进行增删改?使用使用 ExecuteNonQuery() 方法方法数数数数 据据据据 库库库库操作数据示例操作数据示例怎样新增学员用户?处理“保存”按钮的Click事件使用ExecuteNonQuery() 方法向数据库增加记录示例示例 2 2 代码分析代码分析/ 创建创建command对象对象SqlCommand command = new Sql

12、Command(sql, DBHelper.connection); / 打开数据库连接打开数据库连接DBHelper.connection.Open(); / 执行命令执行命令int result = command.ExecuteNonQuery(); 返回受影响记录的行数返回受影响记录的行数 演示示例演示示例8:向数据库增加记录向数据库增加记录ExecuteNonQueryExecuteNonQuery()()方法小结方法小结该方法执行指定的sql 语句返回受影响的行数使用使用 ExecuteNonQuery() 的步骤小结:的步骤小结:1、创建、创建 Connection 对象对象2、

13、定义、定义sql 语句语句3、创建、创建 Command 对象对象4、执行、执行 ExecuteNonQuery() 方法方法5、根据返回的结果进行处理、根据返回的结果进行处理ADOADO.NET.NET中的事务处理中的事务处理帐单帐单编编号号 说明说明数量数量价格价格总计总计1肥皂肥皂520 100编号:编号:12439日期:日期: 2004年年10月月30日日肥皂肥皂关系表关系表数据库512439124392004 年年 10 月月 30 日日已成功地完成对一个表的操作,但是关系表尚未更新,因此,数据会出现不一致的现象成功地进行整个操作或者取消整个操作 确保事务处理是一组数据操作,这些操作

14、要么必须全部成功,要么必须全部失败,以保证数据的一致性和完整性lBegin: 在执行事务处理中的任何操作之前,必须使用 Begin 命令来开始事务处理lCommit: 在成功将所有修改都存储于数据库时,才算是提交了事务处理lRollback: 由于在事务处理期间某个操作失败,而取消事务处理已做的所有修改,这时将发生回滚事务处理命令事务处理命令ADOADO.NET.NET中的事务处理中的事务处理方法方法属性属性Save(Save( ) )RollbacRollback(k( ) )Commit(Commit( ) )ConnectionSqlTransaction 类表示要对数据源进行的事务处理

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

16、T.NET中的事务处理中的事务处理objSqlCommand.Transaction = objSqlTransaction; 将 Command 对象的 Transaction 属性设置为事务处理对象 insertCommand = Insert into Student (Id, Name)values (111, Jim);objSqlCommand.CommandText = insertCommand;objSqlCommand.ExecuteNonQuery ();执行 SQL 命令objSqlTransaction.Commit();如果操作过程中没有错误,则提交事务处理。如果操

17、作过程中发生错误,则回滚已完成的所有修改objSqlConnection.Close(); 关闭连接ADOADO.NET.NET中的事务处理中的事务处理ADOADO.NET.NET中的事务处理中的事务处理SqlTransaction t = null; /声名事务对象声名事务对象 try con.Open(); /设置事务开始设置事务开始t = con.BeginTransaction(); /将事务和命令对象关连将事务和命令对象关连cmd.Transaction = t;/执行命令产生事务执行命令产生事务cmd.ExecuteNonQuery();/事务的提交事务的提交 t.Commit(); catch(SqlException ex)事务回滚事务回滚t.Rollback(); 小结小结ADO.NET的主要组件有哪些?如何使用SqlConnection连接到SQL2005Connection对象的什么方法用来打开和关闭数据库连接?如何使用SqlCommand执行数据库命令?使用什么方法修改数据库数据?ExecuteNonQuery()方法返回什么?

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号