




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 有线电视传输网络无线充电技术应用考核试卷
- 皮革服装绿色制造实践考核试卷
- 绢纺厂的环境管理体系认证与实施考核试卷
- 2025年深圳市个人房产买卖合同
- 2025工程合同补充协议书范本
- 2025年自建房屋租赁合同范本
- 第01讲 两条直线的位置关系(原卷板)
- 苏州市厂房工程施工组织设计 工业建筑钢结构厂房施工方案组织设计技术标技术交底措施要求资料
- 全市煤矿“一矿一策”安全监管监察实施方案
- 职工离岗创业合同二零二五年
- 大型设备吊装地基处理方案
- 2025年公开招聘卫生系统工作人员历年管理单位笔试遴选500模拟题附带答案详解
- 智能垃圾桶产品介绍
- 2025深圳劳动合同下载
- 建筑工地住房安全协议书(2篇)
- 【MOOC】中医与辨证-暨南大学 中国大学慕课MOOC答案
- 设备稼动率分析报告
- 湖北省襄阳市2024年中考数学试题(含解析)
- 2024年上海市交大附中高三语文期中考试作文题目解析及范文:松弛感
- 婚恋-职场-人格学习通超星期末考试答案章节答案2024年
- 装卸搬运合同书
评论
0/150
提交评论