易语言数据库教程之ACCESS数据库全操作.docx
- 文档编号:28166395
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:18
- 大小:606.84KB
易语言数据库教程之ACCESS数据库全操作.docx
《易语言数据库教程之ACCESS数据库全操作.docx》由会员分享,可在线阅读,更多相关《易语言数据库教程之ACCESS数据库全操作.docx(18页珍藏版)》请在冰豆网上搜索。
易语言数据库教程之ACCESS数据库全操作
易语言数据库教程之ACCESS数据库
前面我们已经对比分析过易语言所支持的几种常见数据库,在这几种数据库中,我们先来学习一个ACCESS数据库,当然,MSSQL数据库是完全一样的。
数据库的学习可以说非常的简单,也可以说很不简单,这要看你的出发点来定,当然,前面所学习的易语言基础同样很重要!
和前面所有的教程一样,所讲的内容部分来源我的课堂教学,面对的是高中学生,有些地方的讲解会非常的详细,而有些地方又会相对简单的一笔带过,如果有什么地方你理解起来有困难的话,请与我联系,呵呵!
本教程并不是要把易语言中对ACCESS数据库的所有操作和应用都讲一遍,都讲清楚,那是不可能的,这一点倒是有点遗憾,但我会尽我所能把一些必需的内容讲清楚!
一、准备工作
1、ACCESS的安装 参见 MicrosoftOffice2003安装图解教程
2、ACCESS数据库中数据表的建立
3、易语言ACCESS数据库控件介绍
二、数据库操作
1、易语言ACCESS数据库的连接及打开
2、易语言ACCESS数据库的读操作
3、易语言ACCESS数据库的读操作问题解决
4、易语言ACCESS数据库的高级打开操作
5、易语言ACCESS数据库的写操作
6、易语言ACCESS数据库记录的简单修改
7、易语言ACCESS数据库记录的高级修改
三、数据库与高级表格
1、易语言ACCESS数据库与高级表格一
ACCESS数据库中数据表的建立
在ACCESS中建立一个数据库及在数据库中建立数据库其实是非常简单的。
1、新建数据库,这就不用多说了,在“文件”菜单下第一个就是“新建”,它的快捷键是“Ctrl+N”,和大多数软件完全一样。
2、新建的数据库第一步操作就是要保存,这也不用多说了,相信大家都会的。
3、新建数据表,新建的数据库如下图,是一个表都没有,新建一个数据表的方法有很多,这里我们选择“使用设计器创建表”,如下图所示。
3、这里我们以建立一个学生成绩表为例进行操作,随便写了一些字段在里面,注意一下字段的类型,有些是“自动编号”,有些是“文本”,有些是“数字”,根据需要来,最后别忘记给“id”这个字段设置为“主键”。
4、设置完毕,点击关闭,就会出现是否需要保存的对话框,当然,你要是先点击保存了就不会出现了,呵呵!
5、输入所建立的表的名称,我们里就随便写一个“成绩表”就行了。
6、看看,在ACCESS的“表”里,就可以看到我们刚才所建立的那个成绩表了。
补充一点,字段的名字可以是中文,但如果以后你的程序在运行中有什么特殊要求的话,最好还是用英文字段名要好一点,我这里只是举例而已,就没那么多讲究了,呵呵!
请大家也建立好这个表,以后我们将通过对这个表进行操作以讲解易语言数据库操作的相关知识。
易语言ACCESS数据库控件介绍
易语言中可以操作ACCESS和MSSQL的相关控件有很多,当然不可能逐一介绍到,这一章关于数据库的学习主要学习的“数据库连接”和“记录集”,其它控件有兴趣的朋友可以自己参考一下相关文章!
数据库连接:
主要用于连接数据库,可以连接ACCESS和MSSQL数据库,一行代码就可以搞定,非常的简单,这个控件还有一个主要功能就是执行SQL代码,这才是重点,呵呵!
只要能执行SQL语句,很多问题解决起来就非常多了!
下图中第一个控件就是数据库连接控件。
记录集:
做具体工作的基层工作者,呵呵,不管是读还是写数据库,都是它在做,真是命苦,呵呵!
之所以称之为记录集,这是因为在对数据库进行操作时,当前的操作对象是指定的打开的表中的某一个记录,也就是说,当前操作的只能是一条记录而已,如果需要操作多条记录的话,那就需要进行多次操作了!
下图中第二和第三个控件就是记录集控件,在同一个程序中,根据需要,可以用多个记录集对一个数据库进行操作。
易语言ACCESS数据库的连接及打开
数据库的连接和打开是非常简单了的,下面的几行代码就可以完成这个功能。
大家先看看代码,我们再来详细的说说。
我们这里一行一行的来讲解,呵呵!
1、定义和得到要操作的数据库路径及文件名,我这里是直接操作了,当然也可以用“通用对话框”来让用户进行选择。
2、数据库连接控件的使用,就用了一行代码实现连接,这里用的是“连接ACCESS”,同样的,还有连接MSSQL数据库的代码,有兴趣的朋友可以自己研究一下。
3、记录集1的置连接操作,非常好理解吧,呵呵。
4、记录集的打开操作,这里我就用了最简单的“打开”命令,还有其它的“打开并排序”、“打开并过滤”可以使用,如果要操作要求更复杂的话,可以直接使用“SQL语句”进行操作。
5、这里只是演示一下,大家随便在前面我们所建立的数据库里输入一些数据就可以操作了!
易语言ACCESS数据库的读操作
从ACCESS数据库读取数据是件非常简单的事,只需要几行代码就可以完成操作了。
我们先来修改一下程序的界面,因为这只是一个小例程而已,没有考虑到界面的美观及实用性上的问题,所以我们只是粗略的做了几个编辑框用于显示数据,没问题吧,呵呵!
下面的是一个子程序,子程序的名字是“读出数据”,主要用于从数据库中读取所需要的数据,这里有几个地方需要注意。
1、当前操作的是哪个记录集,可别搞错了。
2、当前操作的是哪一条记录,也别搞错了,呵呵!
由于具体是读取哪一条记录是由记录集本身来决定的,所以这里可以暂时不考虑这个问题,但自己在清楚哦!
3、在易语言中,不同字段类型的读取所使用的代码是不一样的,注意一下,如果不清楚要用什么语句的话,最好是先看一下你的数据库中对应字段是什么类别的。
看看下面的代码,就可以看出,有些字段是文本型的,有些字段是双精度型的,这里一定别搞错了!
下面的对记录的操作了,代码非常的简单,就是确定当前操作的哪一条记录,然后把指针指向要操作的记录,剩下的事就交给上面的“读出数据”这个子程序去处理了,是不是很简单,呵呵!
存在的问题,上面的代码很简单,感觉没什么问题,但实际上,问题还是有的,呵呵,大家可以自己测试一下,当点击“首记录”,程序显示第一记录后,再点击“上一记录”,这时会出现什么问题呢?
这时就会出错了,这个问题如何处理呢?
我们下一节来解决,呵呵!
易语言ACCESS数据库的读操作问题解决
上一节我们留下了两个问题,就是在进行读操作的时候,如果已经读到第一条记录了,再点击前一记录,就会出现读出的数据有误,这是因为数据库中指针的指向出现了问题。
解决的办法非常简单,就是要先判断当前是不是第一条记录,如果不是第一条记录,那么就可以向前走,如果已经是第一条记录了,就不再向前走就行了。
代码如下,就是加了一个判断而已,用了一个“当前位置”的属性,帮助文件中的说明如下:
“数据类型:
整数型;只读;当前记录在记录集中的位置,0为第一条记录。
”
这里要注意一下,就是第一条记录时,当前位置是0。
那同样的,当指针已经到达最后一条记录时,也需要判断一下,注意看下面的代码。
在判断是否是最后一条记录时,也使用“当前位置”这个属性,不过用于判断的是“记录数量”,这里同样需要注意的是“记录数量-1”,好好理解一下是什么意思,呵呵!
易语言ACCESS数据库的高级打开操作
易语言在进行ACCESS数据打开操作时,默认有三种方式,一是“打开”,二是“打开并排序”,三是“打开并过滤”。
其实从名字上可以看出来后面两个的功能了,一个的重点是排序,一个的重点是过滤。
先来说说排序的,代码示例如下:
记录集1.打开并排序(“成绩表”,“姓名ASC”)
这里是按照姓名进行排序,这里注意一下参数,一种是“ASC”,另一种是“DESC”,分别是正序和倒序。
如果同时要用两个字段进行排序,同时也是很简单的,如:
记录集1.打开并排序(“成绩表”,“语文ASC,数学ASC”)
“打开并过滤”同样很简单,代码如下:
记录集1.打开并过滤(“成绩表”,“姓名='张三'”)
这句代码的意思应该很容易理解吧,选择“成绩表”中“姓名”为“张三”的记录。
再来一下,代码如下:
记录集1.打开并过滤(“成绩表”,“数学>60”)
这里所选择的记录则是“成绩表”中“数学”成绩大于60分的记录。
使用过滤代码时,最需要注意的一点就是,文本字段和数值型字段的参数表现形式的不同,文本字段要加上一个单引号,而数值字段则不需要加上这个单引号,这里一定要注意。
通过上面两个更高级的打开方式,我们对数据库的操作就更轻松了,呵呵!
但如果我们想在打开的时候,又想过滤又想排序怎么办呢?
那就需要使用SQL语句了,下一节我们将来学习这个内容。
易语言ACCESS数据库的写操作
抱歉,教程停了很长一段时间,原因很多,不说了,呵呵,今天我们来学习易语言中ACCESS数据库写操作。
代码非常的简单,如下图
通过上面的代码我们可以看到,在易语言中要写数据,其实和读数据是一样的,要一个字段一个字段的写(注:
可以通用SQL语句一次写完,但本节我们主要讲易语言本身的写入功能,这个部分就不说了,呵呵),这里需要注意的是,每一个字段的类型不同,写入的时候用的命令就不同,这里一定要注意。
在写入之前有一行代码,“记录集1.添加()”,这行代码的功能就是在数据表中添加一行空记录,然后下面的写操作就是针对这条空记录进行的,如果没有这一行的话,那写操作就是针对当前记录进行,切记切记。
在写操作完成之后,要有一个“记录集1.更新()”的命令,大家可以试一下,如果没有这行代码行不行。
好了,代码写好了,运行了一下,看看下图,数据成功添加了。
如果想让程序的运行更人性化一点,那可以在写成功后,给一个提示就可以了。
留一下问题:
新添加的这个记录是在相对于原记录来说,是在什么位置呢?
易语言ACCESS数据库记录的简单修改
为什么文章的标题要叫做“简单修改”呢?
这是因为在这一节中,我们讲的是针对当前记录的修改,打开了一条记录,然后修改所需要字段的内容,这就是简单修改,那相对应的,自然还有一个高级修改了,下一节我们再学习,呵呵!
如何确定要修改的记录,这里我们可以把这个操作先忽略掉,就当作我们在进行成绩浏览时,看到原来输入的成绩出错了,需要修改。
当在界面中出现了要修改的记录后,剩下的事就太简单了,所写出的代码和上一节我们添加一条新记录的完全一样,唯一不同的就是要写入的数值了,这里我们不给出一个确定的内容,而是提取用户所输入的新成绩,所以在代码中就要对几个编辑框的内容进行调用。
代码请看下图:
注:
第一行代码只是一个注释而已,这里顺便说一下,通过分析和查找,看到有朋友在采集我写的教程,这里我们可以明确一下,采集没关系,但能否保留一下我的网址之类的,如果能在文章中放一个我的网站的链接那就更好了,呵呵!
易语言ACCESS数据库记录的高级修改
其实说是高级修改,也没有什么稀奇的,就是用SQL语句来修改而已,用SQL语句来进行操作的数据库,主要的优势在于执行效率上。
这一节的重点在于SQL语句的使用,如果没有相关基础的话,可以在网上找一下相关的教程看看,我们用到的也是最简单的一些SQL语句而已。
下面我们就两个比较基础的的修改语句来讲解一下。
一、文本型字段的修改,先看代码
可以看到,最关键的的一个词就是“update”,就是更新的意思了,指在更新哪一个表中的内容,“set”这个词的意思“设置”就是要把字段修改成什么新的值,“where”在这里的意思就是要修改的条件。
所以上面这句代码的意思就是把,把“成绩表”这个数据库中的,姓名为“张三”的这个记录,把它的姓名改成“dy0854”,换了一个新的名字而已。
这里注意一下,在SQL语句中,要用到文本型字段的时候,前后一定要加上一个“单引号”,不然会出错的。
二、数值型字段,先看代码
上面的文本型字段的修改理解了,下面的这个数值型字段的修改那自然就没有什么难度了,对吧,呵呵!
知识扩展:
(当老师的通病,呵呵)
1、在一条语句中,可以同时修改多个字段,只需要在“set”后来加上新的字段名的值即可。
2、在一条语句中,可以同时修改多个不同类型的字段,文本型和数值型可以同时修改的。
3、在一条语句中,条件也是可以为多个,方法同上条。
4、在一条语句中,可以同时修改多条记录,这个关键点就在于有多少条记录满足条件,比如说在上面修改数值型字段的例子中,如果有两个记录的“数字”字段都等于34,那就会同时对它们进行修改。
更多时候,是这个条件不是一个等号出现,而是一个不等号出来时,效果就会更明显了,比如说说,条件是“数学<60”这样。
相信大家都能对上面所说的修改方式理解吧,通过使用SQL语句,我们可以很容易的对数据进行修改,在一定程序上,这种修改方式要比前面所讲的方式还是要高级一点,呵呵!
易语言ACCESS数据库记录的删除操作
今天我们的学习内容是数据库记录的删除。
在易语言中,删除记录的代码只有一句,如:
记录集1.删除()
可以通过参数设置为是删除当前记录还是全部记录,注意,这里的全部记录是记录集操作的全部记录,而不是数据库的全部记录,两者之间是有区别的,当然,很多时候,它们是一样的,但有的时候并不是这样。
比如说,加上一定的条件对数据库进行查询,如查询数学成绩小于60分的,得到一个记录集,这里执行删除操作,且删除全部,那删除的数据库是数学成绩小于60分的,而数学成绩大于等于60分的其它记录就不会受到影响。
删除单条记录的操作就不用说了,当前指针指向哪一条记录,删除的就是哪一条记录了,相信大家都能理解。
和更新数据一样,删除操作同样可以使用SQL语句进行,其实所有的数据库操作都是通过SQL语句进行的,只不在易语言把一些常用的操作提取出来做成一个命令的形式而已。
在SQL语句中,删除要用到一个词“Delete”,就是删除的意思,还是一样的,有兴趣的朋友可以自己搜索一下“Delete”语句的用法!
易语言ACCESS数据库与高级表格一
前面几节我们学习的都是ACCESS数据库的一些基本操作,把这些基础知识都掌握了后,就可以开始一些相对高级的操作了,这一节我们来学习数据库与高级表格的相关知识。
在易语言中,有两个表格,一个是“表格”,另一个是“高级表格”,相比较而言,“高级表格”的可操作性要好得多,所以在一般情况下,大家都习惯使用它。
今天要学习的内容就是把数据库中的对应数据表的相应字段在高级表格中显示出来。
当然,你可以直接在高级表格手工写上对应的字段名,但如果字段数量过多的话,这个工作量就会非常的大,而用代码来实现的话,那就简单多了,呵呵。
先看界面,只看到一个高级表格,这个时候,表格中并没有任何数据。
注意,这是运行后的界面,所以“数据库连接”和“记录集”控件是隐藏的。
下面就是代码了,先看看
1、高级表格的列数和记录集1的字段数量的关系,这里一定要注意一下,我们其实是少了一个字段的,在数据库中,还有一个“id”字段,只不过由于这个字段不需要显示出现,所以列数少了一列,大家可以试一下就明白了。
2、记录集的取字段名命令和高级表格的置数据命令相信大家都能理解,不用多说,不清楚的朋友可以查阅一下易语言的帮助。
3、最后一个是高级表格的置对齐方式,大家可以把这一行屏蔽掉,看看效果就知道了,呵呵!
运行看看,点击“数据库连接”按钮,看看,效果出来了吧。
怎样把数据库里的数据都显示在高级表格中呢?
请看下一节教程,呵呵
易语言ACCESS数据库与高级表格二
这一节的代码是在上节的后来直接写的,也即是在得到数据表的结构后,直接得出相关数据,注意一下,在下面图片中,水印盖住的那一行就是设置对齐方式的那一行。
那我们的第一行就是设置高级表格的行数,这样做的目的在于清空原数据表中的数据,避免出现重复显示之类的问题。
接下来的就很简单了,大家可以看到,就是读取对应的字段,得到相关数据,然后显示在高级表格中,相关代码我们在前面的教程中都出现过,所以这里就不再详细说明了。
看看程序运行的结果。
这里提示一下,我们完全可以把这个读取数据的过程写成一个模块,这样以后操作起来就方便多了,呵呵。
数据库与高级表格的一些功能的思路请参见:
易语言数据库与高级表格思路分析
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 数据库 教程 ACCESS 操作