C#程序设计项目化教程-电子教案-郑广成 ch05

上传人:E**** 文档编号:89386267 上传时间:2019-05-24 格式:PPT 页数:29 大小:916KB
返回 下载 相关 举报
C#程序设计项目化教程-电子教案-郑广成 ch05_第1页
第1页 / 共29页
C#程序设计项目化教程-电子教案-郑广成 ch05_第2页
第2页 / 共29页
C#程序设计项目化教程-电子教案-郑广成 ch05_第3页
第3页 / 共29页
C#程序设计项目化教程-电子教案-郑广成 ch05_第4页
第4页 / 共29页
C#程序设计项目化教程-电子教案-郑广成 ch05_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《C#程序设计项目化教程-电子教案-郑广成 ch05》由会员分享,可在线阅读,更多相关《C#程序设计项目化教程-电子教案-郑广成 ch05(29页珍藏版)》请在金锄头文库上搜索。

1、C#程序设计 单元5 开发Windows应用程序,主讲教师:C#课程组 授课专业:软件技术,单元5 开发Windows应用程序,本,章,要,点,ADO.NET的功能和组成 connection对象 command对象 DataSet对象,技,能,目,标,会使用Connection对象连接到数据库 会编写简单的数据库查询语句 能使用数据适配器填充数据集 能使用数据适配器将数据集的修改提交到数据库,单元5 开发Windows应用程序,单元5 开发Windows应用程序,5.2 技术与知识准备 5.2.1 ADO.NET ADO.NET提供了两个组件,让我们能够访问和处理数据:.NET Framew

2、ork数据提供程序和DataSet(数据集) .NET Framework数据提供程序是专门为数据处理以及快速地修改、访问数据而设计的组件。使用它,我们可以连接到数据库、执行命令和检索结果,直接对数据库操作。 DataSet是专为独立于任何数据源的数据访问而设计的。使用它,我们可以不必直接和数据库打交道,可以大批量地操作数据,也可以将数据绑定到控件上。,单元5 开发Windows应用程序,5.2.2 .NET Framework数据提供程序,单元5 开发Windows应用程序,5.2.2.1 Connection对象,单元5 开发Windows应用程序,连接数据库一般分为三步: 1.定义连接字

3、符串 1)使用SQL Server身份验证登陆 Data Source=服务器名;Initial Catalog=数据库名;UserID=用户名;Pwd=密码; 例如:string connString=” Data Source=.;Initial Catalog=MySchool;UserID=sa” 2)使用Windows身份验证 Data Source=服务器名;Initial Catalog=数据库名;integrated security=true; 例如:string connString=” Data Source=.;Initial Catalog=MySchool; int

4、egrated security=true” 2.创建Connection SqlConnection conn=new SqlConnection (connString) 3.打开和关闭数据库的连接 conn.Open(); /打开数据库连接 conn.Close(); /关闭数据库连接 4.执行过程:首先执行try块包含的语句,若没有发现异常,则继续执行finally块包含的语句,执行 完之后跳出try结构;若在try块包含的语句中发现异常,则立即转向执行catch块包含的语句,然后 再执行finally块包含的语句,执行完后跳出try结构。,单元5 开发Windows应用程序,但是有时

5、,例如数据库服务器没有开启,我们就无法连接到数据库,也可能与数据库的连接突然中断,就不能够访问数据,这时应用程序就会出现意外错误,在程序开发中,我们把这叫做出现了异常。为了让应用程序能够很好地工作,我们要对那些可能发生的错误进行编码处理,这就是异常处理。.NET提供了trycatchfinally语句块来捕获和处理异常。,单元5 开发Windows应用程序,语法: try /可能导致异常的代码段 catch /异常处理代码段 finally /异常处理后要执行的代码段 说明: 1)try块包含可能导致异常的代码段 2)catch块包含异常处理代码段 3)finally块包含异常处理后要执行的代

6、码段,即无论是否发生异常,都将执行的代码段,单元5 开发Windows应用程序,5.2.2.2 Command对象 同Connection对象一样,Command对象属于.NET Framework数据提供程序,Command对象的主要属性和方法见表5.4。,单元5 开发Windows应用程序,要使用Command对象,分为下列几步: 1.定义连接字符串(参考前面所学,在此略) 2.创建Connection SqlConnection connection=new SqlConnection (connString) 3.定义SQL语句 sting sql=”; 4.创建Command对象 S

7、qlCommand command=new SqlCommand(sql,connection) 5.打开数据库连接 connection.Open(); 6.执行sql语句,即根据需要,调用command的某个方法 7.关闭数据库连接 connection.Close();,单元5 开发Windows应用程序,5.2.3 DataSet 通过前面的学习,我们已经知道了,当应用程序需要查询数据时,我们可以使用DataReader对象来读取数据,DataReader每次只读取一行数据到内存中,如果我们要查询100条记录,就要从数据库中读100次,而且在这个过程中要一直保持和数据库的连接,这就给数

8、据库服务器增加了很大的负担。ADO.NET提供了DataSet对象来解决这个问题。利用数据集,我们可以在断开与数据库连接的情况下操作数据。 DataSet相当于一个临时的数据库,它把应用程序需要的数据临时保存在内存中,由于这些数据都缓存在本地机器上,就不需要一直保存和数据库的连接。我们的应用程序需要数据时,就直接从内存中的数据集中读数据,也可以对数据集中的数据进行修改,然后将修改后的数据一起提交给数据库。,单元5 开发Windows应用程序,5.2.3.1 填充数据集 填充数据集,分以下几步: 1.定义连接字符串connString 2创建连接 SqlConnection connection

9、 = new SqlConnection(connString); 3定义sql语句 4创建DataAdapter对象 SqlDataAdapter da = new SqlDataAdapter(sql, connection); 5创建数据集 DataSet ds = new DataSet(); 6填充数据集 da.Fill(ds, “custom“);,单元5 开发Windows应用程序,5.2.3.2 保存数据集中的数据 步骤 1、使用SqlCommandBuilder对象生成更新用的相关命令 SqlCommandBuilder commandbuiler = new SqlComm

10、andBuilder(da); da为已创建的DataAdapter对象 2、调用DataAdapter对象的Update()方法 da.Update(ds, “custom“); ds为已创建的DataSet对象 custom为已数据集中的数据表名称,单元5 开发Windows应用程序,5.3 回到工作场景 通过对以上小节内容的学习,我们已经知道了怎样使用.NET数据提供程序来对数据库进行增删改查了,我们学习了数据库连接对象(Connection)、命令对象(Command)、数据读取器对象(DataReader)、数据集(DataSet),现在是时候回到我们5.1节工作场景的任务中来了。

11、分析:分别创建三个窗体:登录窗体、主窗体、学生信息管理窗体,通过语句实现三个窗体之间的跳转。访问数据库,实现数据的增删改查。,单元5 开发Windows应用程序,【步骤1】新建一个windows窗体应用程序,取名为grtxl。 【步骤2】设计界面,见图5.1。,单元5 开发Windows应用程序,【步骤3】使用SQL Server2008新建数据库grtxl,新建数据库表txl,如图5.19所示。,单元5 开发Windows应用程序,【步骤4】界面设计(如表5.8),单元5 开发Windows应用程序,【步骤5】参考代码 1)连接数据库的公共类DBhelper的关键代码。 public cla

12、ss DBHelper /定义数据库连接字符串 public static string connString =“Data Source=.;Initial Catalog=grtxl;Integrated Security=True“; /创建数据库连接对象 public static SqlConnection connection = new SqlConnection(connString); 2)实现通讯录操作关键代码。 string sql = null; private void refresh()/刷新界面数据 string sql = “select * from txl“

13、; try SqlDataAdapter da = new SqlDataAdapter(sql, DBHelper.connection); DBHelper.connection.Open(); DataSet ds = new DataSet(); da.Fill(ds, “txl“);,单元5 开发Windows应用程序,dataGridView1.AutoGenerateColumns = false; dataGridView1.DataSource = ds.Tables“txl“; catch (Exception ex) MessageBox.Show(“出错原因:“ + e

14、x.Message); finally DBHelper.connection.Close(); private void btnAdd_Click(object sender, EventArgs e)/添加数据 string sql = string.Format(“insert into txl values(0,1,2,3,4,5,6,7)“, txtName.Text, txtPhone.Text, txtTelePhone1.Text, txttelePhone2.Text, txtEmail.Text, txtQQ.Text, txtAddr.Text, txtYB.Text);

15、,单元5 开发Windows应用程序,try SqlCommand cmd = new SqlCommand(sql, DBHelper.connection); DBHelper.connection.Open(); int i = cmd.ExecuteNonQuery(); if (i = 1) MessageBox.Show(“数据录入成功!“); DBHelper.connection.Close(); refresh(); else MessageBox.Show(“输入数据不完整或不合法!“); catch (Exception ex) MessageBox.Show(“出错原因

16、:“ + ex.Message); finally DBHelper.connection.Close(); ,单元5 开发Windows应用程序,private void btnSelect_Click(object sender, EventArgs e)/查询数据 if (txtName.Text != null) sql = “select * from txl where name like %“ + txtName.Text.Trim() + “% “; try DBHelper.connection.Close(); SqlDataAdapter da = new SqlDataAdapter(sql, DBHelper.connection); DBHelper.connection.Open(); DataSet ds

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

当前位置:首页 > 高等教育 > 大学课件

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