语言和sqlserver数据库技术_第1页
语言和sqlserver数据库技术_第2页
语言和sqlserver数据库技术_第3页
语言和sqlserver数据库技术_第4页
语言和sqlserver数据库技术_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

第十三章

使用访问数据库预习检查的主要组件有哪些?用于C#应用程序连接数据库的.NET数据提供程序,应该有谁提供?微软公司,还是数据库提供商?连接数据库应使用什么对象?执行SQL命令应使用什么对象?异常处理的关键字有哪些?集中测试2/42回顾与作业点评如下的T-SQL含义是什么?Info表中存在NID、name、age三列,表内只有5条age大于20且小于50的记录,如下T-SQL执行结果是什么?聚合函数AVG()和MIN()各代表什么意思?点评作业的提交情况和共性问题SELECT*FROMEMPWHERETelephoneLIKE'13[1-3]%'select*fromInfowhereagebetween50and20提问作业点评3/42本章任务实现MySchoolBase的登录功能实现MySchoolBase的菜单功能实现MySchoolBase的查询学生数量功能4/42本章目标了解的功能和组成会使用Connection对象连接到数据库会使用Command对象查询单个值会捕获和处理程序中的异常5/42MySchoolBase数据库结构介绍贯穿案例使用的数据表6/42概述SQLServerACCESSORACLEADO.NET数据库访问的方法和技术7/42的主要组件

DataSet(数据集).NETFramework数据提供程序用于连接到数据库、执行命令和检索结果独立于数据源的数据访问8/42结构图本章内容9/42.NET数据提供程序类型.NETFramework数据提供程序

说明SQLServer.NET数据提供程序MicrosoftSQLServer数据源System.Data.SqlClient

命名空间OLEDB.NET数据提供程序OLEDB公开的数据源System.Data.OleDb

命名空间ODBC.NET数据提供程序ODBC公开的数据源System.Data.Odbc命名空间Oracle.NET数据提供程序Oracle数据源System.Data.OracleClient命名空间10/42小结包括哪两个主要的组件?.NET数据提供程序的四个核心对象是什么?提问11/42为什么使用Connection应用程序数据源Connection桥梁12/42Connection对象不同命名空间的Connection对象命名空间对应的Connection对象System.Data.SqlClientSqlConnectionSystem.Data.OleDbOleDbConnectionSystem.Data.OdbcOdbcConnectionSystem.Data.OracleClientOracleConnection13/42连接数据库示例连接到本机的MySchool数据库示例演示示例1:连接MySchool数据库14/42示例1代码分析关键代码回顾//定义数据库连接字符串stringconnString="DataSource=.;InitialCatalog=MySchool;UserID=jbit;pwd=bdqn";//创建Connection对象SqlConnectionconnection=newSqlConnection(connString);

//打开数据库连接connection.Open();Console.WriteLine("打开数据库连接成功");

//关闭数据库连接connection.Close();Console.WriteLine("关闭数据库连接成功");表示本机15/42Connection主要成员必须显式关闭连接属性名称说明ConnectionString连接字符串方法说明Open()打开数据库连接Close()关闭数据库连接16/42连接数据库步骤使用连接数据库的步骤1.定义连接字符串

2.创建Connection对象3.打开与数据库的连接DataSource=服务器名;InitialCatalog=数据库名;UserID=用户名;Pwd=密码SqlConnectionconnection=

new

SqlConnection(connString);连接字符串connection.Open();没有密码,可省略17/42小结连接到本机的pubs数据库//连接字符串stringconnString="DataSource=.;InitialCatalog=pubs;UserID=sa";//创建Connection对象SqlConnectionconnection=newSqlConnection(connString);connection.Open(

);//打开数据库连接//……connection.Close(

);//关闭数据库连接关键代码现场编程18/42为什么使用异常处理应用程序打开数据库处理数据……数据源与数据库的连接中断无法打开数据库无法操作数据出现意外错误!出现异常19/42异常处理异常:在运行时发生的错误异常处理:预知可能发生的异常,在程序中编码处理操作数据库时可能发生异常:无法打开数据库无法读取数据数据操作出错……!20/42如何处理异常2-1使用try-catch块捕获和处理异常try{connection.Open();//……connection.Close();}catch(处理的异常类型){//错误处理代码}处理异常的代码出现异常,跳到catch否则正常向下执行出现异常跳转连接关闭语句将不被执行包含可能出现异常的代码语法21/42如何处理异常2-2finally块——无论是否发生异常,都会执行try{connection.open();//……}catch(处理的异常类型){

}finally{connection.Close();}可能出现异常的代码处理异常的代码是否发生异常数据库连接都会关闭必须执行的语句放在finally中无论如何都会执行的代码语法示例22/42connection.Open();Console.WriteLine("打开数据库连接完毕");connection.Close();Console.WriteLine("关闭数据库连接完毕");处理异常修改示例1的代码,增加try语句块演示示例2:使用try-catch-finally23/42小结如果try中没有出现异常,输出哪几行信息?try{//…可能出现异常的代码

Console.WriteLine("try块");}catch(Exceptione){Console.WriteLine("catch块");}finally{Console.WriteLine("finally块");}显示显示不显示代码阅读24/42学员操作—测试MySchool数据连接需求说明创建MySchoolBase控制台程序新建用于操作数据库的DBOperation类在DBOperation类中自定义数据库连接方法,实现连接和关闭MySchool数据库练习完成时间:20分钟25/42学员操作—为连接操作添加异常需求说明为数据库连接增加异常处理将数据库服务停止,再次测试连接操作练习完成时间:10分钟26/42为什么使用Command应用程序打开数据库处理数据……数据源?怎样处理数据CommandConnection提交SQL命令并从数据源中返回结果!27/42Command的主要成员属性名称说明ConnectionCommand对象使用的数据库连接CommandText执行的SQL语句方法说明

ExecuteNonQuery()执行不返回行的语句,如UPDATE等ExecuteReader()返回DataReader对象ExecuteScalar()返回单个值,如执行带COUNT(*)的SQL语句28/42操作数据库示例完成MySchoolBase系统的登录功能验证管理员的用户名和密码是否存在验证通过,显示登录成功信息问题29/42分析示例3定义ValidateUser()方法用于验证用户信息使用Connection和Command对象分两步实现验证建立数据库连接验证用户是否存在定义CheckLogin()方法用于显示ValidateUser()返回的结果信息分析30/42分析验证方法ValidateUser()方法框架1.验证的结果:通过或不通过返回值为bool型2.方法需要:用户名,密码值方式传参3.不通过的原因:用户名或密码不存在、其他原因引用方式传参

publicboolValidateUser

(stringuserName,

stringpwd,

refstringstrMsg){}分析31/42用户验证方法具体实现第一步:创建数据库连接第二步:查询用户是否存在SELECTCOUNT(*)……使用ExecuteScalar()方法查询ValidateUser()方法具体实现分析演示示例3:MySchool系统的登录功能32/42使用Command步骤使用Command步骤创建数据库连接定义SQL语句创建Command对象执行命令SqlConnectionconnection=newSqlConnection(connString);stringsql="selectcount(*)fromAdminwhereLoginId='"+userName+"'andLoginPwd='"+pwd+"'";connection.Open();//打开数据库连接mandcommand=newmand(sql,connection);intnum=(int)command.ExecuteScalar();示例3关键代码:执行命令前,必须打开数据库连接!要进行类型转换!分析33/42学员操作—实现管理员登录验证完成MySchoolBase系统的登录功能验证管理员的用户名和密码是否存在验证通过,显示登录成功信息练习完成时间:25分钟34/42共性问题集中讲解常见问题及解决办法代码规范问题调试技巧共性问题集中讲解35/42学员操作—实现菜单功能完成MySchoolBase系统的菜单显示功能管理员选择除操作键“8”以外的值,重新显示菜单管理员选择操作键“8”时,窗口关闭当管理员登录成功后显示系统菜单练习完成时间:20分钟36/42学员操作—实现学生数量查询功能2-1训练要点数据库连接和关闭异常处理Command对象的创建ExecuteScalar()查询数据库方法的使用需求说明当管理员选择操作键“1”时,显示Student表中的学生数量指导讲解需求说明37/42学员操作—实现学生数量查询功能2-2实现思路创建查询学生数量的方法使用ExecuteScalar()方法查询学生数量并添加异常处理创建输出结果信息的方法难点指导

温馨提示

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

评论

0/150

提交评论