单元03单表数据维护.ppt_第1页
单元03单表数据维护.ppt_第2页
单元03单表数据维护.ppt_第3页
单元03单表数据维护.ppt_第4页
单元03单表数据维护.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

单元三,单表数据维护,回顾,搭建数据库开发环境需要安装哪些软件?你安装好了吗?你选择的是什么版本?VS创建Windows应用程序的步骤?建库的语法?分离/附加有什么作用?补充下列语句:IF?DROPDATABASEstuDB,本单元任务,任务一完成“新增管理员”模块任务二完成“修改密码”模块,新增管理员,新增教师,新增学生,本单元目标,创建数据库表,并设置主键使用INSERT向表中插入数据使用UPDATE更新表中数据使用DELETE删除表中数据使用sqlconnection对象连接数据库使用Sqlcommand对象维护数据库数据,任务一完成“新增管理员”模块,任务描述:,任务分析:,大宝经理要求曾伟按照张力编制的数据字典创建所有数据表,完成“新增管理员”模块,该模块作为示范模块供项目其他人员参考。曾伟打开详细设计文档,“新增管理员”模块的描述如下:模块功能:实现管理员信息的添加功能。输入项目:在窗体中录入管理员的基本信息,如登录号、密码、确认密码、真实姓名、性别等信息,单击【保存】按钮。输出项目:将录入的管理员信息添加到数据表Admin表中测试要点:测试是否能正确载入管理员数据信息。,“新增管理员”模块的功能是能够添加管理员信息。要实现该模块:1.创建数据表Admin,保存管理员信息。2.录入数据时,直接在文本框录入,录入完成后通过SQL语句实现数据到数据表Admin的保存。3.在.NET执行SQL,需要两个对象:SqlConnection和SqlCommand。为了保证代码的通用性和简洁性,需要实现数据库操作封装类。,1.创建表,使用ManagementStudio和T-SQL创建表为数据表添加主键,1)在ManagementStudio中创建表,右击数据库的“表”节点,单击“新建表”命令。逐一键入列名,选择数据类型,并选择各个列是否允许空值在“文件”菜单中,选择“保存表名”命令,2)使用T-SQL创建数据库表,建表的语法,CREATETABLE表名(字段1数据类型列的特征,字段2数据类型列的特征,.),列的特征:包括该列是是否为空(NULL)、是否是标识列(自动编号)、是否有默认值、是否为主键等。,建表示例,UseMySchoolGoCREATETABLEAdmin(AdminIDintIDENTITY(1,1),-编号,自动编号LoginIdvarchar(50)NOTNULL,-登录号LoginPwdvarchar(50)NOTNULL,-登录口令adminNamevarchar(50)NOTNULL,-姓名Sexvarchar(2)-性别)Go,演示:创建管理员表Admin,为数据表添加主键,添加主键的语法,ALTERTABLE表名ADDCONSTRAINT主键名PRIMARYKEY(主键列),ALTERTABLEAdminADDCONSTRAINTpkey_AdminPRIMARYKEY(AdminID)GO,2.使用ManagementStudio维护数据,演示:添加、修改、删除数据,3.使用T-SQL维护数据,(1)用INSERT语句添加数据(2)用UPDATE语句更新数据(3)用DELETE语句删除数据,1)使用INSERT添加一行数据,语法,INSERTINTO表名(列名)VALUES(值列表),INSERTINTOAdmin(LoginId,LoginPwd,AdminName,Sex)VALUES(ZL,19890501,周丽,女),插入数据行注意事项1,插入字符型数据、日期时必须用单引号括住。逗号、括号、引号一律为英文状态。每条语句一次只能添加一行数据。对没有插入数据的字段Address、Email等,系统自动赋予空值NULL。日期数据一般用-或/分隔年月日,如2009-05-0812:35、2009-05-01等都是合法的日期数据。,插入数据行注意事项2,代码错误,代码错误,使用INSERT添加多行数据,1.添加表结构2.添加数据,SELECT*INTOAdminBakFROMadminWHERE0=1,SETIDENTITY_INSERTAdminBakONGOINSERTINTOAdminBak(AdminID,LoginId,LoginPwd,AdminName,Sex)SELECT*FROMAdmin,使用UNION添加多行数据,【例3-8】在管理员信息表Admin中使用T-SQL插入两行数据。,INSERTINTOAdmin(LoginId,LoginPwd,AdminName,Sex)SELECTCL,123456,成龙,男UNIONSELECTZZY,ADMIN,章怡,女GO,(2)用UPDATE语句更新数据,语法,UPDATE表名SET列名=更新值WHERE更新条件,UPDATEAdminSETLoginPwd=zyZhangWHEREAdminName=章怡,(3)用DELETE语句删除数据,语法,DELETEFROM表名WHERE删除条件,DELETEFROMAdminWHERELoginId=zzy,什么是ADO.NET,数据库,使用数据库存储数据,SQL-Server,ACCESS,ORACLE,ADO.NET,数据库访问的方法和技术,ADO.NET操作数据库结构图,本单元内容,为什么使用Connection,应用程序,数据源,请求数据,Connection,连接数据库步骤,连接数据库的步骤:1、定义连接字符串,2、创建Connection对象,3、打开与数据库的连接,DataSource=服务器名;InitialCatalog=数据库名;UserID=用户名;Pwd=密码,SqlConnectionconnection=newSqlConnection(connString);,连接字符串,connection.Open();,没有密码,可省略,4、关闭连接,connection.Close();,连接数据库范例,【例3-12】创建Windows应用程序,包含一个窗体,单击“创建连接”按钮,再单击“连接字符串”按钮后,界面如图所示。,演示范例,代码分析1,关键代码回顾,/数据库连接字符串privatestaticstringconnString=DataSource=.;InitialCatalog=MySchool;IntegratedSecurity=True;SqlConnectionconnection;/创建数据库连接privatevoidbtnNew_Click(objectsender,EventArgse)connection=newSqlConnection(connString);btnOpen.Enabled=true;/创建成功后,打开按钮可用btnNew.Enabled=false;/创建成功后,创建按钮不可用btnConnStr.Enabled=true;/创建成功后,连接字符串按钮可用,表示本机,以Windows身份登录,代码分析2,关键代码回顾,/测试打开数据库的操作privatevoidbtnTest_Click(objectsender,EventArgse)/打开数据库连接connection.Open();MessageBox.Show(打开数据库连接成功);btnClose.Enabled=true;/打开成功后,关闭按钮可用btnOpen.Enabled=false;/显示数据库连接字符串privatevoidbtnConnStr_Click(objectsender,EventArgse)richTextBox1.Text=connection.ConnectionString;,Connection主要成员,必须显式关闭连接,为什么使用Command,应用程序打开数据库处理数据,数据源,Connection,Command,执行命令并从数据源中返回结果,Command的主要成员,使用Command步骤,使用Command步骤:1、创建数据库连接2、定义SQL语句3、创建Command对象4、执行命令,SqlConnectionconnection=newSqlConnection(connString);stringsql=SELECTCOUNT(*)FROMStudent;connection.Open();/打开数据库连接SqlCommandcommand=newSqlCommand(sql,connection);intnum=(int)command.ExecuteScalar();,示例3关键代码:,执行命令前,必须打开数据库连接!,要进行类型转换!,任务实施,1.编写“数据库操作封装类DbHelper”2.实现“新增管理员”模块,数据库操作类DbHelper,我们能否编写一个类,专门负责数据库的操作?界面层如需要进行数据处理,只需要调用该类的相关方法就可以了,而不用重复编写很多代码。,编写代码来操作数据库中的数据,需要6几个步骤:1.创建连接对象SqlConnectionconn=newSqlConnection(连接字符串);2.创建Command对象SqlCommandcom=newSqlCommand(sql,连接对象名);3.打开连接conn.Open();4.执行SQL;5.关闭连接conn.Close();6.释放由连接占用的资源conn.Dispose().,DbHelper类,添加现有项添加新项添加现有项的步骤:,DbHelper类,添加新项的步骤:,DbHelper类,关键代码,classDBHelper/数据库连接字符串:静态属性privatestaticstringconnString=DataSource=.;InitialCatalog=MySchool;IntegratedSecurity=True;/数据库连接对象:静态属性publicstaticSqlConnectionconn=newSqlConnection(connString);/执行SQL的通用方法;传入一条SQL语句publicBooleanupdateSql(StringstrSQL)SqlCommandmyCmd=newSqlCommand(strSQL,connection);tryconn.Open();myCmd.ExecuteNonQuery();returntrue;catch(Exceptione)MessageBox.Show(e.Message);returnfalse;finallyconn.Close();,在程序中调用DbHelper类的方法,【例3-13】需要修改章怡的登录口令为zyZhang。,stringsql=UPDATEAdminSETLoginPwd=zyZhangWHEREAdminName=章怡;DBHelperdb=newDBHelper();db.updateSql(sql);,2实现“新增管理员”模块,在【保存】按钮的Click事件中,编写代码:,privatevoidbtnSave_Click(objectsender,EventArgse)/获取管理员信息stringsLoginID,sPWD,sName,sSex,sSql;/获取用户输入的信息sLoginID=txtLoginID.Text;sPWD=txtPWD.Text;sName=txtName.Text;sSex=rbMan.Checked?0:1;/构建SQLsSql=string.Format(INSERTINTOADMIN(LoginId,LoginPwd,AdminName,Sex)values(0,1,2,3),sLoginID,sPWD,sName,sSex);/执行SQLDBHelperdbHelper=newDBHelper();if(dbHelper.updateSql(sSql)MessageBox.Show(创建成功!);this.Close();elseMessageBox.Show(创建失败!);,任务二初步完成“修改密码”模块,任务描述:,任务分析:,模块功能:修改本人密码的功能。输入项目:录入登录管理员的原密码、新密码、确认密码,单击【保存】按钮。输出项目:更改Admin数据表的LoginPwd字段。修改成功后,显示“修改成功”提示信息;否则,显示“修改失败”提示信息测试要点:测试输入的新密码与确认密码是否一致,是否将新密码更新到Admin数据表。,修改密码模块实现登录用户修改本人的密码功能:1.用户登录成功后,方可修改本人密码。我们一般可将用户登录信息设计为一个类,引入“用户信息”类。2.通过SQL语句实现数据修改。3.使用数据库操作封装类DbHelper执行SQL。,相关知识与技能,1根据登录号修改密码的SQL2在.NET执行SQL,UPDATEAdminSETLoginPwd=zyZhangWHERELoginID=admin,DBHelperdb=newDBHelper();db.updateSql(sql);,任务实施,1.添加现有项“DbHelper”2.添加现有项“UserHelper”3.初步实现“修改口令”模块,实现“修改密码”,教师部分实现:实现“修改密码”,学生模仿:实现“修改密码”,UserHelper类,关键代码:,publicclassUserHelperpublicstaticstringloginId=admin;/用户名,缺省为管理员publicstaticstringloginType=管理员;,总结,使用CREATETABLE表名(字段名数

温馨提示

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

评论

0/150

提交评论