CNET的数据库操作实用.pptx

上传人:莉*** 文档编号:87124388 上传时间:2023-04-16 格式:PPTX 页数:43 大小:343.21KB
返回 下载 相关 举报
CNET的数据库操作实用.pptx_第1页
第1页 / 共43页
CNET的数据库操作实用.pptx_第2页
第2页 / 共43页
点击查看更多>>
资源描述

《CNET的数据库操作实用.pptx》由会员分享,可在线阅读,更多相关《CNET的数据库操作实用.pptx(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、9.1 Access数据库 数据库(Database,即DB)是存储在一起的相关数据的集合,是存储数据的“仓库”。是指依照一定格式存放在一起的数据记录文件。数据库中的信息是以表的形式组成的,一个数据库中可以放多个表,各个表具有行和列。“数据库管理系统DBMS”(database management system)则是用来操作与管理数据库的软件,Microsoft Access、Microsoft SQL Server、Oracle都是属于DBMS软件,通过这些软件,用户可以对数据进行定义、创建与运算。第1页/共43页9.1.1 建立Access数据库表 1.选按“开始”|“程序”|“Micr

2、osoft Access”,启动Access,屏幕上会出现如图9-1所示的对话框,在任务窗格内点取“空Access数据库”,然后单击“确定”按钮。2.出现“文件新建数据库”对话框,指定新数据库的保存位置、文件名,然后按“创建”。在此,将新数据库存放在“我的文档”内,文件名称为“Friend”,文件夹型为Microsoft Access数据库。第2页/共43页信息中心专门人才基本情况表 编号姓名 性别 出生日期工资 党员否 简历 照片bj10001 刘伟箭 男 1960.08.232000.00T(略)(略)bj11002 刘简捷 男 1958.12.311800.00T(略)(略)gz0500

3、1藤波海 男 1956.04.14 1160.00T(略)(略)gz05002杨行东 男 1949.03.301260.00F(略)(略)jl04001林慧繁 女 1965.02.036000.00T(略)(略)jl04002黄晓远 男 1969.08.128000.00F(略)(略)sy02030李鹏程 男 1946.02.083000.00F(略)(略)sy02035王国民 男 1935.05.205000.00F(略)(略)sh01001金银桥 女 1969.01.242000.00F(略)(略)sh01002林立荞 女 1964.08.164500.00F(略)(略)第3页/共43页9

4、.1.1 建立Access数据库表 1.选按“开始”|“程序”|“Microsoft Access”,启动Access,屏幕上会出现对话框,在任务窗格内点取“空Access数据库”,然后单击“确定”按钮。2.出现“文件新建数据库”对话框,指定新数据库的保存位置、文件名,然后按“创建”。Microsoft Access创建的数据库文件的扩展名是.mdb。第4页/共43页9.1.2 Access数据库操作1.创建新数据库项目 2.创建数据库连接 对数据库的操作首先要和数据库建立一个连接,与数据库建立连接可以通过系统提供的控件实现。3.创建数据库对象和访问方法 4设置程序显示界面 5.显示数据库中的

5、数据第5页/共43页9.2 客户/服务器(C/S)模式编程概念 在网络应用中,应用模式的发展变化,可以按出现的时间次序分为:(1)文件服务器模式及域模式(2)客户机/服务器模式(client/server)模式(以下简称为C/S模式)(3)以Internet/Intranet为网络环境的B/S(Browser/Server)模式(4)电子商务的B2B模式和B2C模式 其中文件服务器模式及域模式主要是从对用户和资源管理角度考虑的,数据计算发生在每个用户的工作站上。而B/S模式是C/S模式在Internet环境下的新的体现方式。第6页/共43页 20世纪90年代以来,C/S模式得到了十分迅速的流行

6、。它主要从一次数据计算的完成过程这个角度而言的,客户机进行数据请求,请求传到服务器,服务器负责完成数据计算或数据库操作,最终结果返回到客户机。几乎每个新的网络操作系统和每个新的多用户数据库系统都声称能支持C/S模式。实现C/S模式允许有许多不同的策略。从最典型的数据库管理系统的应用来看,在LAN上采取的C/S模式,即指在LAN中至少有一台数据库服务器(DBMS server),可以作为希望去存取公共数据库的各台工作站的后援支持。把应用任务中的程序执行内容划分成两部分:与数据库存取有关的部分由DBMS server承担,与应用的人机界面处理,输入/输出或一部分应用的逻辑功能等有关的内容由clie

7、nt端工作站承担。第7页/共43页SQL语言简介 SQL(Structured Query Lanuage,结构化查询语言)是现代关系数据库的标准语言。现在的大多数数据库系统都采用SQL语言作为共同的数据存取语言和标准接口,使不同数据库系统之间的互操作成为了可能。SQL语言的功能极为强大,语言十分简捷,第321页的表13-1列出了SQL语言的9个命令,这9个命令就可以完成几乎所有的数据操作,在这9个命令中,常用的只有4个。如果要使用SQL编写程序,则需要另一语言或平台来实现所有实际信息的显示。第8页/共43页例如:SELECT *FROM STU1第9页/共43页语句:SELECT 学号,姓名

8、,数学 FROM STU1第10页/共43页语句:SELECT 学号,数学+5 FROM STU1第11页/共43页WHERE关键字在WHERE子句中,用条件表达式来确定要显示的记录。WHERE 例如:SELECT 学号,姓名 FROM STU1 WHERE 数学=90第12页/共43页SELECT 学号,姓名 FROM STU1 WHERE 数学=90 OR 平均分=85第13页/共43页BETWEEN关键字在WHERE子句中可以使用BETWEEN来指定可接受值的范围。例如:要显示学生档案表STU2中数学成绩在91到92的学生情况。SELECT*FROM STU2 WHERE 数学 BETW

9、EEN (91)AND(92)第14页/共43页LIKE关键字格式:WHERE LIKE 说明:字符串常量中的字符可以包含如下两个特殊符号:%表示任意长度的字符串;_ 表示任意一个字符例:查询所有姓“张”的学生的学号和姓名。SELECT 学号,姓名 FROM 学生表 WHERE 姓名 LIKE 张%例:查询第二个汉字是“红”的学生的学号和姓名 SELECT 学号,姓名 FROM 学生表 WHERE 姓名 LIKE _红%第15页/共43页IN关键字 在WHERE子句中使用IN可以指定值是否在表中。例如:显示学号为 962102 和962104 的记录。SELECT*FROM STU2 WHER

10、E 学号 in(“962102”,“962104”)第16页/共43页 ORDER BY关键字 ORDER BY ASC|DESC子句用来对数据结果排序,ASC按升序排列,DESC按降序排列,默认是ASC。如:SELCET*FROM STU1 WHERE 数学 IN(78,92,91)其结果按原记录顺序显示,要安数学成绩排序,需加上ORDER BY 子句。如下例:第17页/共43页SELECT*FROM STU1 WHERE 数学 IN(78,92,91)ORDER BY 数学第18页/共43页2.INSERT命令(插入命令)格式:INSERT INTO (属性列表)VALUE (数据表)功能

11、:插入一条新记录,其内容是将VALUE后(数据表)中的数据依次送到(属性列表)中的各属性。如:INSERT INTO STU1(学号,姓名,计算机基础,数学,马列原理,体育,总分,平均分)VALLUE(962105,李小丽,77,88,90,80.2)第19页/共43页3.UPDATE命令(更新命令)格式:UPDATE SET WHERE 例如:UPDATE STU2 SET 就读方式统招第20页/共43页UPDATE STU1 SET 计算机基础计算机基础1.15%第21页/共43页4.DELETE命令(删除命令)格式:DELETE FROM 表文件名 WHERE 表达式如:DELETE F

12、ROM STU2 WHERE 性别=女第22页/共43页9.3 ADO.NET编程 无论什么样的程序,都要与数据打交道,现在的程序中要处理的信息量越来越大,早已不能满足几个变量所提供的信息量,而是把大量信息预先存储到数据库文件中,然后利用某种技术读取数据库中的预存信息,将读取的信息送给程序界面显示出来,或将新内容存入数据库。ADO.NET就是就是负责数据存取的对象。第23页/共43页 9.3.1 ADO.NET的概念 在应用程序中访问数据库的一般过程为:首先必须连接数据库;接着发出SQL语句,告诉数据库要进行什么样的工作;最后由数据库返回所需的数据记录。在ADO.NET中,上述访问数据库的三项

13、工作,分别由三个对象来完成:Connection对象负责连接数据库;Command对象对数据下达SQL命令;DataSet对象用来保存所查询到的数据记录。在ADO.NET中,介于DataSet和Connection对象之间,还有一个在数据库与DataSet对象之间扮演传递数据的对象DataAdapter(适配器)。此外,还有一个DataView对象,该对象提供了对DataSet对象内的表进行排序、过滤记录及记录搜索等功能。第24页/共43页数据集组件(DataSet控件)当向数据库申请数据时,系统建立数据集和数据库之间的连接。ADO.NET向编程人员所提供的数据集组件是DataSet。Data

14、Set控件是一个数据集,主要用来存放从数据库中取回的数据。命令格式:DataSet 对象名=new DataSet();例:DataSet myDataSet=new DataSet();第25页/共43页 数据适配器组件 用于在数据源和数据集之间交换数据。.NET提供两种主要的数据适配器以供数据库一起使用:(1)OleDbDataAdapter控件 (2)SqoDataAdapter控件 由 于 我 们 使 用 Access建 立 数 据 库,因 此 主 要 用 到OleDbDataAdapter控件。OleDbDataAdapter对象使用fill()方法将数据从数据源装载到数据集中,使用

15、Update()方法将数据集中的数据返回到数据源中。格式:OleDbDataAdapter 对象名=new OleDbDataAdapter(SQL命令,连接名);第26页/共43页例:/创建一个和数据库的连接 /SQL命令字符串 string strCom=“SELECT*FROM 世界杯”;/创建一个数据集 DataSet myDataSet=new DataSet();/用 OleDbDataAdapter得到一个数据集 OleDbDataAdapter da=new OleDbDataAdapter(strCom,myConn);/把DataSet绑定世界杯数据表 da.Fill(my

16、DataSet,“世界杯”);da.Update(myDataSet,“世界杯”);第27页/共43页 OleDbConnection控件的主要功能是负责数据源的连接。在连接到数据源时必须提供连接到数据源的一些属性,如:Provider、DataSource等。例:OleDbConnection myconn=new OleDbconection(“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=f:test.mdb”);第28页/共43页例:OleDbConnection myconn=new OleDbconection(“Provider=Mic

17、rosoft.Jet.OLEDB.4.0;Data Source=f:test.mdb”);字符串太长,可以改写成如下两条命令:string strCon=“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=f:test.mdb”);OleDbConnection myconn=new OleDbconection(strCon);OleDbconection的两个重要方法:Open()方法:打开与数据库表的连接 例:myconn.Open();Close()方法:关闭与数据库表的连接 例:myconn.Close()第29页/共43页例:private

18、 void button1_Click(object sender,System.EventArgs e)try string strCon=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:book.mdb;OleDbConnection myConn=new OleDbConnection(strCon);myConn.Open();MessageBox.Show(数据库连接成功!);myConn.Close();catch MessageBox.Show(连接错误,错误);第30页/共43页例:public void GetConnected(

19、)trystring strCon=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:Book.mdb;OleDbConnection myConn=new OleDbConnection(strCon);string strCom=SELECT*FROM book;this.myDataSet=new DataSet();myConn.Open();MessageBox.Show(连接成功!);OleDbDataAdapter myCommand=new OleDbDataAdapter(strCom,myConn);myCommand.Fill(

20、myDataSet,book);myConn.Close();catch(Exception e)MessageBox.Show(连接错误!+e.ToString(),错误);private void button1_Click(object sender,System.EventArgs e)GetConnected();dataGrid1.DataSource=myDataSet.Tablesbook;第31页/共43页9.3.3 ADO.NET编程及绑定1.数据集编程在ADO.NET中,建立连接后就需要使用数据命令打包SQL语句或存储过程。如果是使用SELECT语句查询数据库,调用命令的

21、执行方法后将返回查询结果,同时将数据缓存到数据集中,用户可使用数据集获取这些行;如果是调用Update命令,则将返回所影响的行数;其他类型的命令将返回一个错误代码。第32页/共43页在ADO.NET中,数据集就是临时存储从数据库检索的记录,是从数据源检索的记录的缓存,数据集中可包含一个或多个表,这些表基于实际数据库中的表。因为数据集实际上是数据库的私有副本,所以它不一定反映数据库的当前状态。如果想要查看其他用户进行的最新更改,可以通过调用适当的Fill()方法刷新数据集。SQL命令主要有SELECT、INSERT、UPDATE、DELETE。第33页/共43页2.数据绑定 Windows窗体的

22、数据绑定便于在窗体控件中显示数据,如果使用DataGrid控件,则需要使用DataGrid控件进行绑定。主要通过Fill()方法。第34页/共43页例:第35页/共43页其中窗体的“Load”事件代码为:private void Form1_Load(object sender,System.EventArgs e)try string strCon=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=f:book.mdb;OleDbConnection myConn=new OleDbConnection(strCon);string strCom=SE

23、LECT*FROM book order by 编号;myConn.Open();OleDbDataAdapter myCommand=new OleDbDataAdapter(strCom,myConn);myDataSet=new DataSet();myCommand.Fill(myDataSet,book);this.dataGrid1.DataSource=this.myDataSet.Tablesbook;myConn.Close();catch(Execption x)MessageBox.Show(“错误!”+x.ToString(),“error”);第36页/共43页其中“

24、查询”按钮的“单击”事件代码为:private void button1_Click(object sender,System.EventArgs e)trystring strCon=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=f:book.mdb;OleDbConnection myConn=new OleDbConnection(strCon);myConn.Open();string strCom=“SELECT *FROM book WHERE 书名 Like%+this.textBox1.Text+%;OleDbDataAdapter

25、myCommand=new OleDbDataAdapter(strCom,myConn);this.myDataSet.Clear();myCommand.Fill(myDataSet,book);myConn.Close();catch(Execption x)MessageBox.Show(“错误!”+x.ToString(),“error”);第37页/共43页其中“添加”按钮的“单击”事件代码为:private void button2_Click(object sender,System.EventArgs e)trystring strCon=Provider=Microsoft

26、.Jet.OLEDB.4.0;Data Source=f:book.mdb;OleDbConnection myConn=new OleDbConnection(strCon);myConn.Open();string strCom=INSERT INTO book(编号,书名,作者,价格,书架号)VALUES(+this.textBox2.Text+,+this.textBox3.Text+,+this.textBox4.Text+,+this.textBox5.Text+,+this.textBox6.Text+);OleDbCommand inst=new OleDbCommand(st

27、rCom,myConn);inst.ExecuteNonQuery();OleDbDataAdapter myCommand=new OleDbDataAdapter(SELECT *FROM book order by 编号,myConn);myDataSet.Clear();myCommand.Fill(myDataSet,book);myConn.Close();catch(Exception x)MessageBox.Show(错误+x.ToString(),error);第38页/共43页其中“删除”按钮的“单击”事件代码为:private void button3_Click(ob

28、ject sender,System.EventArgs e)try int a=this.dataGrid1.CurrentCell.RowNumber;string strCon=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=f:book.mdb;OleDbConnection myConn=new OleDbConnection(strCon);myConn.Open();string strCom=“DELETE From book where 编号=strCom+=this.myDataSet.Tables0.Rowsa0;OleDbCom

29、mand delst=new OleDbCommand(strCom,myConn);delst.ExecuteNonQuery();OleDbDataAdapter myCommand=new OleDbDataAdapter(SELECT*FROM Book order by 编号,myConn);myDataSet.Clear();myCommand.Fill(myDataSet,book);myConn.Close();catch(Exception x)MessageBox.Show(错误+x.ToString(),error);第39页/共43页其中“修改”按钮的“单击”事件代码为

30、(这里一次只能修改一行):private void button4_Click(object sender,System.EventArgs e)try int a=this.dataGrid1.CurrentCell.RowNumber;string strCon=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=f:book.mdb;OleDbConnection myConn=new OleDbConnection(strCon);myConn.Open();string strCom=“UPDATE book set 书名=“+this.myDa

31、taSet.Tables”book“.Rowsa1+”,作者=“+this.myDataSet.Tables”book“.Rowsa2+”,价格=“+this.myDataSet.Tables”book“.Rowsa3+”,书架号=“+this.myDataSet.Tables”book“.Rowsa4+”where 编号=+this.myDataSet.Tablesbook.Rowsa0;OleDbCommand inst=new OleDbCommand(strCom,myConn);inst.ExecuteNonQuery();OleDbDataAdapter myCommand=new

32、 OleDbDataAdapter(SELECT*FROM book order by 编号,myConn);this.myDataSet.Clear();myCommand.Fill(myDataSet,book);myConn.Close();catch(Exception x)MessageBox.Show(错误+x.ToString(),error);第40页/共43页“修改”多行按钮的“单击”事件代码为:private void button2_Click(object sender,System.EventArgs e)trystring strCon=Provider=Micro

33、soft.Jet.OLEDB.4.0;Data source=F:student.mdb;OleDbConnection myconn=new OleDbConnection(strCon);string upstr;OleDbCommand inst;myconn.Open();int a=this.myDataSet.Tables0.Rows.Count;this.textBox1.Text=a.ToString();for(int i=0;ia;i+)upstr=“update student set 姓名=”+this.myDataSet.Tables0.Rowsi1;upstr+=“

34、,语文=”+this.myDataSet.Tables0.Rowsi2+“,数学 upstr+=“,数学=”+this.myDataSet.Tables0.Rowsi3+“,英语 upstr+=“,英语=”+this.myDataSet.Tables0.Rowsi4+“where 学号 upstr+=“where 学号=+this.myDataSet.Tables0.Rowsi0+;inst=new OleDbCommand(upstr,myconn);inst.ExecuteNonQuery();string strcom=SELECT*FROM student;OleDbDataAdapt

35、er mycommand=new OleDbDataAdapter(strcom,myconn);myDataSet.Clear();mycommand.Fill(myDataSet,student);myconn.Close();catch(Exception x)MessageBox.Show(error!+x.ToString();第41页/共43页“统计”平均分、总分的按钮的“单击”事件代码为:private void button1_Click(object sender,System.EventArgs e)try string strCon=Provider=Microsoft.

36、Jet.OLEDB.4.0;Data Source=F:student.mdb;OleDbConnection myconn=new OleDbConnection(strCon);string upstr=update student set 总分=语文+数学+英语,平均分=(语文+数学+英语)/3;myconn.Open();OleDbCommand inst=new OleDbCommand(upstr,myconn);inst.ExecuteNonQuery();string strcom=SELECT*FROM student;OleDbDataAdapter mycommand=new OleDbDataAdapter(strcom,myconn);myDataSet.Clear();mycommand.Fill(myDataSet,student);myconn.Close();catch(Exception x)MessageBox.Show(error!+x.ToString();第42页/共43页感谢您的欣赏!第43页/共43页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁