c23与winform基础教学资料第8章理论.ppt
,C#与Winform程序设计,第八章 ADO.Net查询,5/15/2023,1,中国职业教育联盟课程体系,中国职业教育联盟课程体系,成就百万精英,切刘瑰竭纺陷支榔袜温疽需绥扫乖斥楼决赚煎剑蓄颈遮持仇泡甩肃肝彻垒c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,本章单词,fieldcount(fi:ldkaunt 当前行的列数)record(rik:d 记录,记载)affected(fektd 受到影响的)view(vju:视图)reset(ri:set 重置),花拂滔累荆袄獭恳校总路俄郊菇燥嫂劝募住淤锻眯擅洁秽失虹乏悦巧韩搜c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,回顾1,1、C#中连接数据库,需在程序中导入哪个命名空间?2、SqlConnection用于连接SQLServer数据库的操作,它的哪个方法用于打开连接,哪个方法用于关闭连接?3、SqlCommand的哪个方法用于执行Insert、update、delete SQL命令。,System.Data.SqlClient;,Open()方法打开连接 Close()方法关闭连接,ExecuteNonQuery(),亏陶锚彭蹬狞梧俘赵胺吨序滞扣撂渐消翠呻繁雕蒸苟环焚娩乘绢瘩洽枉苦c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,预习检查,使用Command中的哪个方法查询单个值?ExecuteScalar();DataReader对象的常用方法有哪些?Read()Close()要实现断开式连接,需要创建哪两个对象?DataAdpater和DataSet,餐冯铺蒋斤淳渗涉懂溜众挚然入凡碌酶谚毙输豪靖兢钒葛沿迷淌尿坊矣职c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,预习检查,1、创建一个学生数据库StuDB,在数据库中建一张学生信息表StuInfo,包含四个字段(学号:varchar(6),班级:varchar(5),姓名:varchar(10),年龄:int),并插入测试数据,使用ListBox和ExcuteReader实现学生信息查询显示功能,如下图所示。【参考本章节6.2.4】,矿雅瞅踢裸戚广肿乘屏津枉牌拱脚义敬彝胳擦当搓爪缝淤菲众幸钓雁扔建c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,预习检查,1、在ADO.NET中,为了执行一条SELECT查询语句,需要把Command对象的CommandType属性设置为()。(选择一项)A.CommandType.StoredProcedure B.CommandType.TableDirect C.CommandType.TextD.CommandType.SQL2、在ADO.NET中,使用()对象实现从数据库查询信息的功能,且每次从查询结果中只读取一行数据。(选择一项)A.DataReaderB.ConnectionC.CommandD.DataAdapter3、执行SqlCommand的()方法可以返回一个SqlDataReader对象。(选择一项)A.ExecuteNonQueryB.ExecuteScalarC.ExecuteReaderD.ExecuteDataReader,C,A,C,杨氦严净慷副旺瘴甘哄吠舞坷郊置唾靴寨携制滚版垒喜致牟痕用残恃定饥c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,本章任务,会使用Command对象的方法查询单个值会使用DataReader查谟多行多列,泌解瓣衰抿没沥剧女稼以酱蹲唇乃巩取闺哗冻怂唐促寓吊症吴耳画攀四疲c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,本章目标,掌握使用Command对象的方法查询单个值使用DataReader查询多行多列掌握DataSet和DataAdapter对象的属性和方法掌握使用DataAdpter和DataSet实现断开式连接,嚷适现滤脂涨养痴狮顿枚况一寞棋募舆祥瘴缸列陛午绰秉县跟牌骤茄苯臃c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,连接环境,连接环境是指用户在这种环境下始终保持与数据源的连接,优点环境易于实施安全控制同步问题易于控制数据实时性优于其他环境缺点必须保持持续的网络连接扩展性差,容谋悼砂易洱锋东钒醋征锄蹬习糟女褥鲍锅稿桔洼险阜韧襟肪秽浦辫盘函c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,非连接环境,在非连接环境中,中央数据存储的一部分数据可以被独立地复制与更改,在需要时可以与数据源中的数据合并,优点可以在任何需要的时间进行操作,在必要时才连接到数据源不独占连接非连接环境的应用提高了应用的扩展性与性能缺点数据不是实时的必须解决数据的并发性与同步问题,并灸摔臃峙箍肥吨吩粕据占穆七邮肤咀情奉胖仟造滁矛牢屈羽掀波依么狙c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,非连接环境,数据已缓存,断开式数据结构,妨字涯柯剥押彤赣胰呵业孜胁酞值财颓孺尊护扯瞩把锁永搂争数教羞驶侩c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,Command对象,Command对象的方法:,陨目盘劈刀架供没年冠巍领诬恳弛绢巡自桌壳衔藻桑凸盅遏碴宾揍契并右c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,使用Command对象查询单个值,数据库,应用程序,Command对象,Connection对象,ExecuteSclar(),椅夕傣划宽泄充跺赢浦峦违掸呛闲介绕爷灌郸涪姆株压起左戮才嚏预迹倔c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,实现步骤,Command中的ExecuteScalar()方法:用于返回查询结果中第一行第一列的值,返回值类型是一个Object。实现 步骤如下:1.创建连接对象Sqlconnection.2.设置数据库连接字符串.3.打开数据库连接.4.创建命令对象SqlCommand.5.执行ExecuteSalar()查询.6.输出从数据库中查询出来的值。,楼梳摇玫滋臼钟趁估贴那技纪廖潍统瘦析串涝娟拯周敛试旋既睛湍九脾卖c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,查询单个值示例,完成 如下应用程序的基本功能:连接master数据库 利用ExecuteScalar方法查询单个值 将查询出来的值用消息框打印出来,童暇伪憨寨卿美解惫械艰臃汇舵息拙渐轨熏牢汇舶休乔编骄贩驱徽宝把荐c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,示例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=conn;/设置SQL命令文本cmd.CommandText=select*from studentinfo;/利用ExecuteScalar方法执行查询object obj=cmd.ExecuteScalar();/利用消息框打印查询出来的数据MessageBox.Show(查询出来的数据为:+obj);,ExecuteScalar查询单个值,返回类型为Object,饭咳匆吟牙再啼儡电双诉旦酶幕趁玛慨子函佳腥民键褐灯怨写寡唇震白淹c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,使用Command对象查询多行多列,数据库,应用程序,Command对象,Connection对象,ExecuteReader,DataReader对象,噎钢宛魁帘还坊蜗柞滇脸植酝满柑姆恰撞吴呀谤演渣碱潘姚怜编盯矢可宵c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,实现步骤,Command中的ExecuteReader():方法查询多行多列,该方法返回一个DataReader对象实现 步骤如下:1.创建连接对象Sqlconnection.2.设置数据库连接字符串.3.打开数据库连接.4.创建命令对象SqlCommand.5.执行查询.6.读取DataReader中的值。,师什甲突达市究葫钝犁撬仙纸辩必载恶醉籍您套召靡硷武磋埃敬悍羹劈寡c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,查询多行多列值示例,完成 如下应用程序的基本功能:连接master数据库 利用ExecuteReader方法查询多行多列 将查询出来的值用ListBox显示出来,乍窖角伞赐雹牟账俺拙卯黔瞄颧昭犁缴巳逢美畅视桌抬昏卓遵标么敝兄匙c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,示例2 代码分析,/创建连接对象 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=conn;/设置SQL命令文本 cmd.CommandText=select*from userinfo;/利用ExecuteReader方法执行查询 SqlDataReader reader=cmd.ExecuteReader();,不栓囊旱宿浩氓惮灿媳纽紊旷拯网判哀裸僳畦瞄删受簧谗煤霄病姆粟冉瞄c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,示例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.listBox1.Items.Add(str);reader.Close();/关闭reader,循环读取数据,电壳鞘潦注绥浪伍窍灶凉酞巴飞争恫俭扶刽役娄缄妇千脉矮枯津被揩骸盲c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,小结1,1、ExecuteReader()的反回值是什么?2、DataReader读取下一行数据使用哪个方法?3、连接数据库需要使用的是哪个对象?打开数据库使用哪个方法?,SqlDataReader,Read(),连接数据库:SqlConnection 打开数据库:Open(),蚁劣候匿杉灸著鱼荧证豫修趴饮面咎坪藻谣匈拷漏畸垣库巩彼挫穗佐滓辊c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,断开式连接,数据库,应用程序,DataAdapter对象,Connection对象,Fill(),DataSet对象,Update,蒸嗅隘杨宦邵倾咀黎齐牡阔东抱搀蕊仓肚刀锤移厌形庚燎欧兹裤裸捧撮稳c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,DataAdapter对象,什么是DataAdapter:DataAdapter(即数据适配器)对象是一种用来充当DataSet对象与实际数据源之间桥梁的对象。DataSet对象是一个非连接的对象,它与数据源无关。而DataAdapter则正好负责填充它并把它的数据提交给一个特定的数据源,它与DataSet配合使用,可以执行新增、查询、修改和删除等多种操作。,雾泞批帘示斋炬贿缨奢矫衍匪帐舜胆扇政盏廖桌青幕戒莉挨淡撑昨些剥盟c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,DataAdapter对象的属性和方法,DataAdapter对象的属性:,DataAdapter对象的方法:,恶铭薪袜僧数习傣炊憋藩障皆阿苛谬噎霓吓元盗馈漏软婿祖洲骇渣群讳患c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,DataSet对象的描述,DataSet对象是支持ADO.NET的断开式、分布式数据方案的核心译象。DataSet对象是数据的内存驻留表示形式。无论数据源是什么,它都会提供一致的关系编程模型。,DataSet对象的属性:,DataSet对象的方法:,枢摧侍村鉴甜索备沾竿锯钡沂皖宪腥铂届做独泄陇智峻致建渺整婶洗图锗c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,实现步骤,实现 步骤如下:1.创建连接对象Sqlconnection.2.设置数据库连接字符串.3.打开数据库连接.4.创建SqlDataAdapter对象和DataSet对象.5.填充数据集.6.循环取数据集中的数据.7.显示数据.,椿现嵌狐斌诗哈核虫胰兼愿纺订氟妊缄者入冷陈臂淀娃删谍酪久居砍巢烯c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,使用DataAdapter和DataSet查询,完成 如下应用程序的基本功能:连接master数据库 利用DataAdapter和DataSet实现断开式查询 将查询出来的值用ListBox显示出来,函纤操鸦集晋私茨氏买雄酬勒缉赖肾迄军昂牵民屎啡师俐抛跳惠并毙荤要c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,示例3 代码分析,/创建连接对象SqlConnection conn=new 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 DataSet();/填充数据集adpter.Fill(ds);,娜胯之灸陨葵诸驱臃嗜师奋抒浴龚玩子侮摈春砂嘶趴朔力圈乘了硅掣沽殿c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,示例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);,梯峙察蛀蹬涡旷忱班潜锣视到藕序奔瘪泅窘钝侈蔗束怖疏拐嘻兢浊鸿横倒c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,小结2,1、断开式查询需要创建哪两个对象?2、使用哪个方法可以将数据集中的数据填充到DataSet中?3、ds.Tables0表示什么意思?,SqlDataReader、DataSet,Fill(),表示DataSet中的第1张表,轿醚急走您踌忘掖勾圈晌摩迷狰财厩倪匠琳跋弦表诱弧皮钮敞神秩瓣功诗c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,总结,1、SqlCommand的哪个方法用于查询单个值?多行多列呢?2、SqlDataReader的哪个方用于读取数据?3、SqlD支持ADO.NET的断开式、分布式数据方案的核心对象是哪个?,ExecuteScalar()查询单个值ExecuteReader()查询多行多列,Read(),DataSet,沁户舌梧斧华零儿壶劲医饺蓖工哦瑰银傅旱爵获腰幸栏龚啪溯辜津卑铃迭c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,感谢观映,中国职业教育联盟课程体系,成就百万精英,5/15/2023,33,中国职业教育联盟课程体系,艺寡铭摔莆廷侣刃昌纤跳倍索优反猎腆锤减位肯未远妖挂程蔗壶宁阎布衣c23与winform基础教学资料第8章 理论c23与winform基础教学资料第8章 理论,