易语言数据库与
格
篇一:易语言数据库教程之ACCESS数据库全操作
易语言数据库教程之ACCESS数据库
前面我们已经对比
过易语言所支持的几种常见数据库,在这几种数据库中,我们先来学习一个ACCESS数据库,当然,MSSQL数据库是完全一样的。
数据库的学习可以说非常的简单,也可以说很不简单,这要看你的出发点来定,当然,前面所学习的易语言基础同样很重要~
和前面所有的教程一样,所讲的内容部分来源我的课堂教学,面对的是高中学生,有些地方的讲解会非常的详细,而有些地方又会相对简单的一笔带过,如果有什么地方你理解起来有困难的话,请与我联系,呵呵~
本教程并不是要把易语言中对ACCESS数据库的所有操作和应用都讲一遍,都讲清楚,那是不可能的,这一点倒是有点遗憾,但我会尽我所能把一些必需的内容讲清楚~
一、准备工作
,、ACCESS的安装 参见 Microsoft Office2003安装图解教程
,、ACCESS数据库中数据表的建立
1
,、易语言ACCESS数据库控件介绍
二、数据库操作
,、易语言ACCESS数据库的连接及打开
,、易语言ACCESS数据库的读操作
,、易语言ACCESS数据库的读操作问
解决
,、易语言ACCESS数据库的高级打开操作
,、易语言ACCESS数据库的写操作
,、易语言ACCESS数据库记录的简单修改
,、易语言ACCESS数据库记录的高级修改
三、数据库与高级表格
,、易语言ACCESS数据库与高级表格一
ACCESS数据库中数据表的建立
在ACCESS中建立一个数据库及在数据库中建立数据库其实是非常简单的。
,、新建数据库,这就不用多说了,在“文件”菜单下第一个就是“新建”,它的快捷键是“Ctrl+N”,和大多数软件完全一样。
,、新建的数据库第一步操作就是要保存,这也不用多说了,相信大家都会的。
,、新建数据表,新建的数据库如下图,是一个表都没有,新建一个数据表的方法有很多,这里我们选择“使用设计器创建表”,如下图所示。
2
,、这里我们以建立一个学生成绩表为例进行操作,随便写了一些字段在里面,注意一下字段的类型,有些是“自动编号”,有些是“文本”,有些是“数字”,根据需要来,最后别忘记给“id”这个字段设置为“主键”。
,、设置完毕,点击关闭,就会出现是否需要保存的对话框,当然,你要是先点击保存了就不会出现了,呵呵~
,、输入所建立的表的名称,我们里就随便写一个“成绩表”就行了。
,、看看,在ACCESS的“表”里,就可以看到我们刚才所建立的那个成绩表了。
补充一点,字段的名字可以是中文,但如果以后你的程序在运行中有什么特殊
的话,最好还是用英文字段名要好一点,我这里只是举例而已,就没那么多讲究了,呵呵~
请大家也建立好这个表,以后我们将通过对这个表进行操作以讲解易语言数据库操作的相关知识。
易语言ACCESS数据库控件介绍
易语言中可以操作ACCESS和MSSQL的相关控件有很多,当然不可能逐一介绍到,这一章关于数据库的学习主要学习的“数据库连接”和“记录集”,其它控件有兴趣的朋友可以自己参考一下相关文章~
数据库连接:主要用于连接数据库,可以连接ACCESS和MSSQL数据库,一行代码就可以搞定,非常的简单,这
3
个控件还有一个主要功能就是执行SQL代码,这才是重点,呵呵~只要能执行SQL语句,很多问题解决起来就非常多了~下图中第一个控件就是数据库连接控件。
记录集:做具体工作的基层工作者,呵呵,不管是读还是写数据库,都是它在做,真是命苦,呵呵~之所以称之为记录集,这是因为在对数据库进行操作时,当前的操作对象是指定的打开的表中的某一个记录,也就是说,当前操作的只能是一条记录而已,如果需要操作多条记录的话,那就需要进行多次操作了~
下图中第二和第三个控件就是记录集控件,在同一个程序中,根据需要,可以用多个记录集对一个数据库进行操作。
易语言ACCESS数据库的连接及打开
数据库的连接和打开是非常简单了的,下面的几行代码就可以完成这个功能。
大家先看看代码,我们再来详细的说说。
我们这里一行一行的来讲解,呵呵~
,、定义和得到要操作的数据库路径及文件名,我这里是直接操作了,当然也可以用“通用对话框”来让用户进行选择。
,、数据库连接控件的使用,就用了一行代码实现连接,这里用的是“连接ACCESS”,同样的,还有连接MSSQL数据库的代码,有兴趣的朋友可以自己研究一下。
4
,、记录集,的置连接操作,非常好理解吧,呵呵。
,、记录集的打开操作,这里我就用了最简单的“打开”命令,还有其它的“打开并排序”、“打开并过滤”可以使用,如果要操作要求更复杂的话,可以直接使用“SQL语句”进行操作。
,、这里只是演示一下,大家随便在前面我们所建立的数据库里输入一些数据就可以操作了~
易语言ACCESS数据库的读操作
从ACCESS数据库读取数据是件非常简单的事,只需要几行代码就可以完成操作了。
我们先来修改一下程序的界面,因为这只是一个小例程而已,没有考虑到界面的美观及实用性上的问题,所以我们只是粗略的做了几个编辑框用于显示数据,没问题吧,呵呵~
下面的是一个子程序,子程序的名字是“读出数据”,主要用于从数据库中读取所需要的数据,这里有几个地方需要注意。
,、当前操作的是哪个记录集,可别搞错了。
,、当前操作的是哪一条记录,也别搞错了,呵呵~由于具体是读取哪一条记录是由记录集本身来决定的,所以这里可以暂时不考虑这个问题,但自己在清楚哦~
,、在易语言中,不同字段类型的读取所使用的代码是不一样的,注意一下,如果不清楚要用什么语句的话,最好
5
是先看一下你的数据库中对应字段是什么类别的。
看看下面的代码,就可以看出,有些字段是文本型的,有些字段是双精度型的,这里一定别搞错了~
下面的对记录的操作了,代码非常的简单,就是确定当前操作的哪一条记录,然后把指针指向要操作的记录,剩下的事就交给上面的“读出数据”这个子程序去处理了,是不是很简单,呵呵~
存在的问题,上面的代码很简单,感觉没什么问题,但实际上,问题还是有的,呵呵,大家可以自己测试一下,当点击“首记录”,程序显示第一记录后,再点击“上一记录”,这时会出现什么问题呢,这时就会出错了,这个问题如何处理呢,我们下一节来解决,呵呵~
易语言ACCESS数据库的读操作问题解决
上一节我们留下了两个问题,就是在进行读操作的时候,如果已经读到第一条记录了,再点击前一记录,就会出现读出的数据有误,这是因为数据库中指针的指向出现了问题。
解决的
非常简单,就是要先判断当前是不是第一条记录,如果不是第一条记录,那么就可以向前走,如果已经是第一条记录了,就不再向前走就行了。
代码如下,就是加了一个判断而已,用了一个“当前位置”的属性,帮助文件中的说明如下:“数据类型:整数型;
6
只读;当前记录在记录集中的位置,0为第一条记录。”
这里要注意一下,就是第一条记录时,当前位置是,。
那同样的,当指针已经到达最后一条记录时,也需要判断一下,注意看下面的代码。
篇二:易语言(20):易语言数据库的建立
易语言数据库操作有两种方法,一种是使用易语言菜单,另一种是在程序中使用代码。
我们重点学习重点是使用易语言菜单编辑易数据库,使用代码编辑易数据库不展开细说。
1.创建易数据库
(1)使用菜单创建易数据库
使用菜单创建易数据库也称手工创建易数据库,选择点击菜单“数据库”——“结构编辑器”,会弹出数据库结构管理器界面,然后插入字段信息,定义名称、类型、字段长度。插入若干需要的字段,并定义名称、类型、字段长度,保存并为数据库命名。
利用数据库结构管理器,可以对字段进行修改:在“字段数”列表框中选择需要修改的字段,在“字段信息”分组框中修改。还可以上、下移动调整字段位置。
数据库结构管理器还可以新建索引、新建数据库表、给数据库设置密码、打开已有数据库、保存当前数据库、关闭数据库结构管理器等功能。
7
数据库结构管理器界面
(2)使用代码创建易数据库
一般将数据库中所使用的名称及字段名设置为常量,有利创建和维护。以前面“员工工资表”为例,建立一个常量数据表,如下:
数据库名称和字段名常量表
使用代码创建易数据库,需要使用“创建()”命令,
该命令的原型是:“<
逻辑型创建(文本型欲创建数据库的文件名,字段信息数组字段信息表)”。创建()命令的返回值是逻辑型,表明是否执行成功;第一个参数是要创建数据库的文件名,如:“员工工资表.edb”,也可加上要创建的路径;第二个参数是一个字段信息数组。
2.为易数据库添加记录
(1)使用菜单添加记录
依次点击菜单“数据库”——“记录编辑器”,打开“员工工资表”数据库,弹出“数据库记录编辑”界面,选择菜单“增删”——“添加空记录”,填写字段信息。再点击“添加空记录”子菜单,每点击一次,就会填加一条空记录。
还可用“记录”菜单下子菜单,实现“到首记录”、“到尾记录”、“上一记录”、“下一记录”、“上一页”、“下一页”、“到指定记录”操作;用“字段”菜单下子菜单,实现“到
8
首字段”、“到尾字段”、“上一字段”、“下一字段”、“上一行”“下一行”操作;用“删除”菜单下子菜单,实现“改变删除状态”、“清除所有被删除记录”、“清空数据库”操作。
数据库记录编辑界面
查看添加好的记录,依次点击易语言菜单“工具”——“报表编辑器”,弹出“易之表”界面,点击“易之表”菜单“文件”——“打开数据库”,找到并打开“员工工资表.edb”文件,如下图:
员工工资表
(2)使用代码添加记录
使用代码添加和修改记录,主要有以下几个命令:
“加空记录()”,可以在当前数据库记录的尾部添加一条空记录。
“加记录()”,在添加空记录时,可以同时提供欲添加的数据。
“添加()”,可以将其它数据库内的记录添加到本数据库。
“写()”,可以将数据写入当前数据库中的当前记录处的指定字段内。
“写字段()”,可以将数据写入当前数据库内的记录字段。
“修改()”,可以一次性修改当前记录的多个字段。
9
3.易数据库密码设置
(1)使用菜单设置密码
选择菜单“数据库”——“设置数据库密码”,弹出“设置数据库密码”界面,两次输入密码,点击“确认”按钮。
设置数据库密码
(2)使用代码设置密码
使用代码设置密码,需要使用“设数据库密码()”命令,命令原型是:“<逻辑型设数据库密码([文本型新密码文本])”。
易数据库设置密码,可以提高安全性,避免信息外泄。设置了密码的数据库打开时,要输入正确的密码。
篇三:易语言操作SQL Server数据库全过程
易语言操作SQL Server数据库全过程
最近看到很多初学者在问在易语言中如何操作SQL Server以外部数据库,也有人提出想要个全面的操作过程,为了让大家能够尽快上手,我给大家简单介绍一下操作SQL的过程,希望能起到抛砖引玉的作用。
由于我本身工作业比较忙,就以我目前做的一个软件的部份内容列给大家简单讲讲吧,高手就不要笑话了,只是针对初学者
第一步,首先需要建立一个数据库:
以建立一个员工表为例,各字段如下:
10
3 员工ID int 4 0
0 登陆帐号 nvarchar 30 1 0 密码nvarchar 15 1 0 所属部门 nvarchar 30 1 0 姓名nvarchar (来自:WWw.xlTkwj.com 小龙文
档网:易语言数据库与表格)10 1
0 性别nvarchar 2 1 0 年龄nvarchar 10 1 0 当前职务 nvarchar 10 1 0 级别nvarchar 10 1 0 出生日期 nvarchar 40 1 0 专业nvarchar 10 1 0 学历nvarchar 8 1 0 婚姻状况 nvarchar 4 1 0 身份证号 nvarchar 17 1 0 籍贯nvarchar 50 1 0 毕业院校 nvarchar 50 1 0 兴趣爱好 nvarchar 600 1 0 电话nvarchar 11 1 0 家庭成员 nvarchar 20 1 0 工作经历 nvarchar 600 1 0 销售行业经验nvarchar 600 1
11
0 离职原因 nvarchar 600 1
0 升迁记录 nvarchar 600 1
0 调岗记录 nvarchar 600 1
0 特殊贡献 nvarchar 600 1
0 奖励记录 nvarchar 600 1
0 处罚记录 nvarchar 600 1
0 同事关系 nvarchar 4 1
0 企业忠诚度 nvarchar 4 1
0 入司日期 nvarchar 30 1
0 在职状态 nvarchar 4 1
0 上级评语 nvarchar 600 1
0 最后登陆时间 nvarchar 20 1
0 登陆次数 nvarchar 50 1
0 照片 image 16 1
一般我习惯用nvarchar,因为这是可变长的的非
Unicode数据,最大长度为8000个字符,您可以根据您的情
况来设定,我这里只是举例说明。
第二步:在易言语中建立数据库连接,用外部数据库控
件,可先建立4个全局变量:
1、建立全局变量:
.版本 2
.全局变量 服务器, 文本型
12
.全局变量 服务器数据库, 文本型
.全局变量 服务器用户名, 文本型
.全局变量 服务器密码, 文本型
2、给变量赋值:
.版本 2
服务器 , 读配置项 (取运行目录 () , “\sys.ini”, “server info”, “server”, “您的服务器地址”)
服务器用户名 , 读配置项 (取运行目录 () , “\sys.ini”, “server info”, “uid”, “您的服务器用户名”)
服务器密码 , 读配置项 (取运行目录 () , “\sys.ini”, “server info”, “pwd”, “您的服务器密码”)
服务器数据库 , 读配置项 (取运行目录 () , “\sys.ini”, “server info”, “database”, “您的数据库名城”)
3、然后建立外部数据库的连接。
.版本 2
.如果真 (外部数据库1.打开 (“DRIVER=SQL Server;SERVER=” , 服务器 , “;UID=” , 服务器用户名 , “;PWD=” , 服务器密码 , “;WSID=” , 服务器 , “;DATABASE=” , 服务器数据库, ) , 真)
.如果真 (外部数据库1.打开SQL数据库 (服务器, 服务器用户名, 服务器密码, 服务器数据库, , ) , 假)
13
信息框 (“打开数据库失败”, #警告图标, )
结束 ()
.如果真结束
到此,您已经完成了与SQL数据库的连接,可以开始使用,以下讲讲数据库中要用到的增加、查询、修改、删除命令:
建立全局变量:
.全局变量 脚本, 文本型
.全局变量 记录集句柄
1、 SQL增加语句的使用:
.版本 2
脚本 , “insert into 员工表 ([姓名],[性别],[年龄],[出生日期],[专业],[学历],[婚姻状况],[身份证号],[籍贯],[毕业院校],[兴趣爱好],[电话],[家庭成员],[工作经历],[销售行业经验],[离职原因],[所属部门],[当前职务],[升迁记录],[调岗记录],[特殊贡献],[奖励记录],[处罚记录],[同事关系],[企业忠诚度],[入司日期],[在职状态],[上级评语],[照片]) values
('” , 编辑框_职员信息_姓名.内容 , “','” , 编辑框_职员信息_性别.取项目文本 (编辑框_职员信息_性别.现行选中项) , “','” , 编辑框_职员信息_年龄.内容 , “','” , 编辑框_职员信息_出生日期.内容 , “','” , 编
14
辑框_职员信息_专业.内容 , “','” , 组合框_职员信息_学历.取项目文本 (组合框_职员信息_学历.现行选中项) , “','” , 组合框_职员信息_婚姻状况.取项目文本 (组合框_职员信息_婚姻状况.现行选中项) , “','” , 编辑框_职员信息_身份证号.内容 , “','” , 编辑框_职员信息_籍贯.内容 , “','” , 编辑框_职员信息_毕业院校.内容 , “','” , 编辑框_职员信息_兴趣爱好.内容 , “','” , 编辑框_职员信息_电话.内容 , “','” , 编辑框_职员信息_家庭成员.内容 , “','” , 编辑框_职员信息_工作经历.内容 , “','” , 编辑框_职员信息_销售行业经验.内容 , “','” , 编辑框_职员信息_离职原因.内容 , “','” , 编辑框_职员信息_所属部门.内容 , “','” , 编辑框_职员信息_当前职务.内容 , “','” , 编辑框_职员信息_升迁记录.内容 , “','” , 编辑框_职员信息_调岗记录.内容 , “','” , 编辑框_职员信息_特殊贡献.内容 , “','” , 编辑框_职员信息_奖励记录.内容 , “','” , 处罚记录编辑框.内容 , “','” , 组合框_职员信息_同事关系.取项目文本 (组合框_职员信息_同事关系.现行选中项) ,
15
“','” , 组合框_职员信息_企业忠诚度.取项目文本 (组合框_职员信息_企业忠诚度.现行选中项) , “','” , 编辑框_职员信息_入司日期.内容 , “','” , 组合框_职员信息_在职状态.取项目文本 (组合框_职员信息_在职状态.现行选中项) , “','” , 编辑框_职员信息_上级评语.内容 , “',?)”
.如果 (SQL数据库.执行 (脚本, 照片图片框.图片) , 真)
信息框 (“保存员工信息成功!”, 0, )
信息框 (“保存员工信息失败!”, 0, )
.如果结束
SQL数据库.关闭记录集 (记录集句柄)
需要注意的是,在上面红色部分有个,,这是保存图片的字段,在蓝色部分可以看见,(SQL数据库.执行 (脚本, 照片图片框.图片) 照片图片框.图片是字节集数据,也就是数据库中对应的照片字段,image类型
2、 SQL查询语句的使用:
.版本 2
脚本 , “select 员工ID,姓名 from 员工表 where 姓名” , “= ” , “'” , 编辑框_职员信息_姓名.内容 , “'”
16
记录集句柄 , SQL数据库.查询 (脚本)
.如果真 (编辑框_职员信息_姓名.内容 , SQL数据库.读 (记录集句柄, “姓名”)) 信息框 (“您要录入的员工姓名:” , 编辑框_职员信息_姓名.内容 , “已经存在~”, 0 , #询问图标, “销售管理系统提醒您~”)
返回 ()
.如果真结束
SQL数据库.关闭记录集 (记录集句柄)
以上是查询的时候,需要注意的是,如果是文本型数据,需要用单引号,红色部分样式,
如果需要多表查询,select可以这样写:,
select A.*,B.* from A,B where A.ID=B.ID
介绍一个小技巧,如果您SQL数据库操作的很熟悉,可以用视图来帮您建立多表的查询,如果把视图里的SQL语句稍微改动一下就可以放到易语言中使用了, 如我这里需要把客户表与其他的表关联,用视图得到的SQL语句是这样的: SELECT dbo.客户表.客户ID, dbo.客户表.客户姓名, dbo.客户表.身份证号,
17