历史学数据库操作.pptx
《历史学数据库操作.pptx》由会员分享,可在线阅读,更多相关《历史学数据库操作.pptx(50页珍藏版)》请在咨信网上搜索。
1、ZJWCHC数据库操作数据库操作第第14章章2回顾回顾ADO.NET 的功能和组成的功能和组成使用使用 Connection 对象连接到数据库对象连接到数据库使用使用 Command 对象查询单个值对象查询单个值,调用调用ExecuteScalar()方法方法检查以下代码的错误:检查以下代码的错误:string constr=Data Source=.;Initial Catalog=MySchool;User ID=sa;SqlConnection con=new SqlConnection();con.Open();/操作数据库代码省略操作数据库代码省略Con.Close();3回顾回顾
2、检查代码错误:检查代码错误:sql=select count(*)from admin where loginid=loginId and loginpwd=loginpwd;SqlCommand cmd=new SqlCommand(sql);cmd.Parameters.AddWithValue(loginid,txtLogInId.Text.Trim();cmd.Parameters.AddWithValue(loginpwd,txtLogInPwd.Text.Trim();con.Open();int cnt=(int)cmd.ExecuteScalar();con.Close();i
3、f(cnt=1)MessageBox.Show(欢迎登录欢迎登录);mainform mainfrm=new mainform();this.Hide();mainfrm.ShowDialog();else MessageBox.Show(用户名或密码不存在!用户名或密码不存在!);SqlCommand cmd=new SqlCommand(sql,con);con.Open();4本章目标本章目标掌握使用掌握使用CommandCommand与与DataReaderDataReader对象对数据库进对象对数据库进行查询操作行查询操作掌握使用掌握使用CommandCommand进行更新、删除、插
4、入操作进行更新、删除、插入操作掌握列表视图掌握列表视图ListViewListView控件的使用方法控件的使用方法514.1DataReader对象对象问题:问题:通过班级统计人数时,班级编号(或班级名称)输入非常麻烦。通过班级统计人数时,班级编号(或班级名称)输入非常麻烦。解决方法:解决方法:在在class表中存在班级编号或名称,可以采用表中存在班级编号或名称,可以采用DataReader对对象直接从数据库中读出来在组合框中显示。象直接从数据库中读出来在组合框中显示。DataReader对象对象:DataReader对象用于从数据源中读取向前对象用于从数据源中读取向前的、只读数据流,是一个简
5、易的数据集,使用它读取记录时通常的、只读数据流,是一个简易的数据集,使用它读取记录时通常比从比从DataSet更快。更快。DataReader对象是对象是Command对象的对象的ExecuteReader方法从数据源中检索数据时创建的。方法从数据源中检索数据时创建的。6操作步骤操作步骤步骤:1、定义定义 SQL 语句语句2、创建、创建 Command 对象对象3、打开连接、打开连接4、创建DataReader对象,并获取执行命令所执行命令所得的数据得的数据5、关闭连接、关闭连接7DataReader 对象对象每次读取一行数据每次读取一行数据命名空间命名空间对应的对应的 DataReader
6、对象对象System.Data.SqlClient SqlDataReaderSystem.Data.OleDbOleDbDataReaderSystem.Data.Odbc OdbcDataReaderSystem.Data.OracleClientOracleDataReader8DataReader创建和使用1)DataReader对象的创建 SqlDataReader r=cmd.ExecuteReader();2)DataReader.read()方法:移到下一行并读此行.函数返回bool型。若读出的行有数据则返回true.3)DataReader对象的使用方法 Command对象的
7、ExecuteReader方法.返回一个SqlDataReader对象或OleDbDataReader对象.主要用于查询9使用使用 DataReader 查询数据查询数据添加班级组合框中的班级编号添加班级组合框中的班级编号处理窗体处理窗体 Load 事件事件使用使用 DataReader 读取班级编号读取班级编号10示例示例1 代码分析代码分析关键代码回顾:关键代码回顾:/创建创建SQL语句语句/创建创建command对象对象/打开连接打开连接/执行查询执行查询SqlDataReader dataReader=command.ExecuteReader();string classname=“
8、”;/班班级名称级名称/循环读出所有的班级名,并添加到班级列表框中循环读出所有的班级名,并添加到班级列表框中while(dataReader.Read()classid=(string)dataReader0;cboclass.Items.Add(classid);/cboclass为组合框为组合框dataReader.Close();/关闭连接关闭连接循环读取数据行循环读取数据行添加到组合框中添加到组合框中11DataReader 的主要成员的主要成员属性属性说明说明HasRows 是否返回了结果是否返回了结果方法方法说明说明 Read前进到下一行记录前进到下一行记录Close关闭关闭 Da
9、taReader 对象对象DataReader 的主要成员:的主要成员:12DataReader 使用步骤小结使用步骤小结使用使用 DataReader 检索数据的步骤:检索数据的步骤:1、创建、创建 Command 对象对象2、调用、调用 ExecuteReader()创建创建 DataReader 对象对象3、使用、使用 DataReader 的的 Read()方法逐行读取方法逐行读取数据数据4、读取某列的数据,、读取某列的数据,(type)dataReader 5、关闭、关闭 DataReader 对象对象获取某列的值:获取某列的值:方法一:指定列的索引,从方法一:指定列的索引,从0开始
10、开始方法二:指定列名方法二:指定列名注意:注意:DataReader 使用后必须关闭使用后必须关闭13示例示例2:按班级编号查询班级信息:按班级编号查询班级信息编写组合框的编写组合框的SelectedIndexChanged事件事件根据组合框中选值,根据组合框中选值,读取该班的名称、班读取该班的名称、班主任主任并统计选中班级的人并统计选中班级的人数数14示例示例2 代码分析代码分析关键代码回顾:关键代码回顾:string sql=string.Format(select class_name,monitor from class where class_id=0“,cboclass.Text)
11、;/创建创建command对象对象/打开连接打开连接/执行查询执行查询SqlDataReader dr=cmd.ExecuteReader();/循环读出指定的班级名,并添加到班级列表框中循环读出指定的班级名,并添加到班级列表框中if(dr.HasRows)dr.Read();textBox1.Text=dr0.ToString();textBox2.Text=dr1.ToString();dr.Close();/关闭连接关闭连接读取指定班级的班级读取指定班级的班级名称和班主任名称和班主任15SQL语句说明语句说明:1.参数查询参数查询string sqlstr=select*from cla
12、ss where class_id=classid;cmd.Parameters.AddWithValue(classid,comboBox1.Text);2.文本字符串查询文本字符串查询按按class_id号号(字符型字段或日期型字段)查询字符型字段或日期型字段)查询:string sqlstr=select*from student where class_id=+”+textBox1.Text+”;或或string sqlstr=string.Format(select*from student where class_id=0“,textBox1.Text.Trim();按成绩(数值型
13、字段)查询按成绩(数值型字段)查询:string sqlstr=select*from student_course where grade=+textBox1.Text;或或string sqlstr=string.Format(“select*from student_course where grade=0”,textBox1.Text);16课堂练习课堂练习从部门表中,根据部门名称读取该部门的所有信息及教从部门表中,根据部门名称读取该部门的所有信息及教师人数师人数17课后练习课后练习若用户类型为学生,则从若用户类型为学生,则从Student表中,根据学号读表中,根据学号读取该学生用户的
14、所有信息取该学生用户的所有信息注意:出生日期为注意:出生日期为DateTimePicker控件,由控件,由Value获取选中的日期值,为获取选中的日期值,为DateTime类型类型1814.2操作数据操作数据应用程序应用程序毛毛,浙江水专,良好毛毛,浙江水专,良好 毛毛毛毛姓名:姓名:学校:学校:浙江水专浙江水专成绩:成绩:良好良好如何对数据库的数据进行如何对数据库的数据进行增删改增删改?使用使用 ExecuteNonQuery()方法方法数数数数 据据据据 库库库库19操作数据示例操作数据示例怎样新增学生?怎样新增学生?处理处理“保存保存”按钮的按钮的 Click事件事件使用使用 Execu
15、teNonQuery()方法向数据库增方法向数据库增加记录加记录20操作数据示例操作数据示例1代码分析代码分析关键代码回顾:关键代码回顾:/创建创建command对象对象SqlCommand cmd=new SqlCommand(sql,DBoption.connection);/打开数据库连接打开数据库连接DBoption.connection.Open();/执行命令执行命令int result=comd.ExecuteNonQuery();返回受影响记录的行数返回受影响记录的行数21操作数据示例操作数据示例1代码分析代码分析/性别数据转换性别数据转换 int sex=1;if(!rdoM
16、ale.Checked)sex=0;/创建创建SQL字符串字符串string sql=string.Format(insert into student(student_id,student_name,sex,birth,class_id,home_addr)values(0,1,2,3,4,5),txtStudentNO.Text.Trim(),txtStudentName.Text.Trim(),sex,dtpbirth.Value,cboclass.Text.Trim(),txtaddr.Text.Trim();/创建创建command对象对象SqlCommand cmd=new Sql
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 历史学 数据库 操作
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。