c23与winform基础教学资料第8章理论_第1页
c23与winform基础教学资料第8章理论_第2页
c23与winform基础教学资料第8章理论_第3页
c23与winform基础教学资料第8章理论_第4页
c23与winform基础教学资料第8章理论_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,C#与Winform程序设计,第八章 ADO.Net查询,2020/11/21,1,中国职业教育联盟课程体系,中国职业教育联盟课程体系,成就百万精英,本章单词,fieldcount(fi:ldkaunt 当前行的列数) record(rik:d 记录, 记载) affected(fektd 受到影响的) view(vju: 视图) reset(ri: set 重置),回顾1,1、C#中连接数据库,需在程序中导入哪个命名空间? 2、SqlConnection用于连接SQLServer数据库的操作,它的哪个方法用于打开连接,哪个方法用于关闭连接? 3、SqlCommand的哪个方法用于执行Ins

2、ert、update、delete SQL命令。,System.Data.SqlClient;,Open()方法打开连接 Close()方法关闭连接,ExecuteNonQuery(),预习检查,使用Command中的哪个方法查询单个值? ExecuteScalar(); DataReader对象的常用方法有哪些? Read() Close() 要实现断开式连接,需要创建哪两个对象? DataAdpater和DataSet,预习检查,1、 创建一个学生数据库StuDB,在数据库中建一张学生信息表StuInfo,包含四个字段(学号:varchar(6),班级:varchar(5),姓名:varc

3、har(10),年龄:int),并插入测试数据,使用ListBox和ExcuteReader实现学生信息查询显示功能,如下图所示。【参考本章节6.2.4】,预习检查,1、 在ADO.NET中,为了执行一条SELECT查询语句,需要把Command对象的CommandType属性设置为( )。(选择一项) A. CommandType.StoredProcedure B. CommandType.TableDirect C. CommandType.Text D. CommandType.SQL 2、 在ADO.NET中,使用( )对象实现从数据库查询信息的功能,且每次从查询结果中只读取一行数据

4、。(选择一项) A. DataReader B. Connection C. Command D. DataAdapter 3、 执行SqlCommand的( )方法可以返回一个SqlDataReader对象。(选择一项) A. ExecuteNonQuery B. ExecuteScalar C. ExecuteReader D. ExecuteDataReader,C,A,C,本章任务,会使用Command对象的方法查询单个值 会使用DataReader查谟多行多列,本章目标,掌握使用Command对象的方法查询单个值 使用DataReader查询多行多列 掌握DataSet和DataAd

5、apter对象的属性和方法 掌握使用DataAdpter和DataSet实现断开式连接,连接环境,连接环境是指用户在这种环境下始终保持与数据源的连接,优点 环境易于实施安全控制 同步问题易于控制 数据实时性优于其他环境 缺点 必须保持持续的网络连接 扩展性差,非连接环境,在非连接环境中,中央数据存储的一部分数据可以被独立地复制与更改,在需要时可以与数据源中的数据合并,优点 可以在任何需要的时间进行操作,在必要时才连接到数据源 不独占连接 非连接环境的应用提高了应用的扩展性与性能 缺点 数据不是实时的 必须解决数据的并发性与同步问题,非连接环境,数据已缓存,断开式数据结构,Command对象,C

6、ommand对象的方法:,使用Command对象查询单个值,数据库,应用程序,Command对象,Connection对象,ExecuteSclar(),实现步骤,Command中的ExecuteScalar()方法: 用于返回查询结果中第一行第一列的值,返回值类型是一个Object。 实现 步骤如下: 1. 创建连接对象Sqlconnection. 2. 设置数据库连接字符串. 3. 打开数据库连接. 4. 创建命令对象SqlCommand. 5. 执行ExecuteSalar()查询. 6. 输出从数据库中查询出来的值。,查询单个值示例,完成 如下应用程序的基本功能: 连接master数据

7、库 利用ExecuteScalar方法查询单个值 将查询出来的值用消息框打印出来,示例1 代码分析,/创建连接对象 SqlConnection conn = new SqlConnection(); /设置连接数据库字符串 conn.ConnectionString = server=.;database=master;uid=sa;pwd=123456; /打开数据库连接 conn.Open(); if (conn.State = ConnectionState.Open) /创建命令对象 SqlCommand cmd = new SqlCommand(); cmd.Connection =

8、 conn; /设置SQL命令文本 cmd.CommandText = select * from studentinfo; /利用ExecuteScalar方法执行查询 object obj = cmd.ExecuteScalar(); /利用消息框打印查询出来的数据 MessageBox.Show(查询出来的数据为:+obj); ,ExecuteScalar查询单个值,返回类型为Object,使用Command对象查询多行多列,数据库,应用程序,Command对象,Connection对象,ExecuteReader,DataReader对象,实现步骤,Command中的ExecuteRe

9、ader(): 方法查询多行多列,该方法返回一个DataReader对象 实现 步骤如下: 1. 创建连接对象Sqlconnection. 2. 设置数据库连接字符串. 3. 打开数据库连接. 4. 创建命令对象SqlCommand. 5. 执行查询. 6. 读取DataReader中的值。,查询多行多列值示例,完成 如下应用程序的基本功能: 连接master数据库 利用ExecuteReader方法查询多行多列 将查询出来的值用ListBox显示出来,示例2 代码分析,/创建连接对象 SqlConnection conn = new SqlConnection(); /设置连接数据库字符串

10、conn.ConnectionString = server=.;database=master;uid=sa;pwd=123456; /打开数据库连接 conn.Open(); if (conn.State = ConnectionState.Open) /创建命令对象 SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; /设置SQL命令文本 cmd.CommandText = select * from userinfo; /利用ExecuteReader方法执行查询 SqlDataReader reader = cmd.Ex

11、ecuteReader();,示例2 代码分析,string username = null; string userpwd = null; /向listbox里添加一个文本 this.listBox1.Items.Add(用户名tt密码); /循环读取数据 while (reader.Read() /取下标为0的数据 username = reader0.ToString(); /取下标为1的数据 userpwd = reader1.ToString(); string str = username + tt + userpwd; /将str添加到listbox 里面 this.listBo

12、x1.Items.Add(str); reader.Close();/关闭reader ,循环读取数据,小结1,1、 ExecuteReader()的反回值是什么? 2、DataReader读取下一行数据使用哪个方法? 3、连接数据库需要使用的是哪个对象?打开数据库使用哪个方法?,SqlDataReader,Read(),连接数据库:SqlConnection 打开数据库:Open(),断开式连接,数据库,应用程序,DataAdapter对象,Connection对象,Fill(),DataSet对象,Update,DataAdapter对象,什么是DataAdapter: DataAdapt

13、er(即数据适配器)对象是一种用来充当DataSet对象与实际数据源之间桥梁的对象。 DataSet对象是一个非连接的对象,它与数据源无关。而DataAdapter则正好负责填充它并把它的数据提交给一个特定的数据源,它与DataSet配合使用,可以执行新增、查询、修改和删除等多种操作。,DataAdapter对象的属性和方法,DataAdapter对象的属性:,DataAdapter对象的方法:,DataSet对象的描述,DataSet对象是支持ADO.NET的断开式、分布式数据方案的核心译象。DataSet对象是数据的内存驻留表示形式。无论数据源是什么,它都会提供一致的关系编程模型。,Dat

14、aSet对象的属性:,DataSet对象的方法:,实现步骤,实现 步骤如下: 1. 创建连接对象Sqlconnection. 2. 设置数据库连接字符串. 3. 打开数据库连接. 4. 创建SqlDataAdapter对象和DataSet对象. 5. 填充数据集. 6. 循环取数据集中的数据. 7. 显示数据.,使用DataAdapter和DataSet查询,完成 如下应用程序的基本功能: 连接master数据库 利用DataAdapter和DataSet实现断开式查询 将查询出来的值用ListBox显示出来,示例3 代码分析,/创建连接对象 SqlConnection conn = new

15、SqlConnection(); /设置连接数据库字符串 conn.ConnectionString = server=.;database=master;uid=sa;pwd=123456; /打开数据库连接 conn.Open(); if (conn.State = ConnectionState.Open) /设置SQL命令文本 string sql = select * from userinfo; /创建断开式连接对象 SqlDataAdapter adpter = new SqlDataAdapter(sql, conn); /创建数据集对象 DataSet ds = new Da

16、taSet(); /填充数据集 adpter.Fill(ds);,示例3 代码分析,for (int i = 0; i ds.Tables0.Rows.Count; i+) /取出ds中第i行指定字段名的值 string name = ds.Tables0.Rowsiusername.ToString(); /取出ds中第i行指定字段名的值 string pwd = ds.Tables0.Rowsipwd.ToString(); /添加到listbox中去 this.listBox1.Items.Add(name+tt+pwd); ,小结2,1、 断开式查询需要创建哪两个对象? 2、使用哪个方法可以将数据集中的数据填充到DataSet中? 3、 ds.Tables0表示什么意思?,Sql

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论