易语⾔ACCESS数据库的读操作
易语⾔ACCESS数据库的读操作
最近正在学习易语⾔,开始觉得不伦不类不过习惯⼀下觉得对⼀些编程新⼿来说挺适合,下⾯我把易语⾔对于数据库的连接,读写等做下说明,⼤家共同学习。
⾸先要在窗体上添加两个控件“数据库连接”和“记录集”
我刚刚开始⽤易语⾔不知为什么我的窗⼝组建箱中只有基本组件⽽没有扩展组件和外部组件?选择菜单栏的⼯具->⽀持库配
置->全选->确定这样就⾏了
1.连接数据库连接1.连接Access (取运⾏⽬录 () +“\多⽤户库.mdb”, “”) [如果是SQLServer数据库可以⽤数据库连接1.连接SQLServer (服务器IP,数据库名 ,⽤户名 ,密码 )]
2.置连接记录集1.置连接 (数据库连接1)
3.打开表记录集1.打开(“表名”,#数据表名)
4.读数据记录集1.读⽂本(“列名”, 存储变量名) 可以把存储变量名赋值给控件
5.增删改对于这步操作我习惯于⽤SQL语句来写因为⽐较熟悉,先定义个⽂本变量“SQL语句”,然后赋值,举例:添加: SQL 语句=“insert into 多⽤户表(税号,名称,类型,联系⼈,电话,到期时间) values ('” +删全部空 (税号编辑框.内容) +“','” +删全部空(名称编辑框.内容) +“','” +类型+“','” +删全部空(联系⼈编辑框.内容) +“','” +删全部空 (电话编辑框.内容) +“','” +删全部空(⽇期编辑框.内容) +“')”
删除: SQL语句=“DELETE from 多⽤户表 where 编号=” +编号
修改: SQL语句=“update 多⽤户表 set 税号='” +删全部空 (税号编辑框.内容) +“',名称='” +删全部空 (名称编辑框.内容) +“',类型='” +类型+“',联系⼈='” +删全部空 (联系⼈编辑框.内容) +“',电话='” +删全部空 (电话编辑框.内容) +“',到期时间='” +删全部空 (⽇期编辑框.内容) +“' where 编号=” +编号标签.标题
然后执⾏语句命令-------数据库连接1.执⾏SQL (SQL语句)
============================================================================
.版本 2
.⽀持库 eDB
服务器=读配置项 (取运⾏⽬录 () +“\Config.ini”, “配置”, “服务器”, )
数据库=读配置项 (取运⾏⽬录 () +“\Config.ini”, “配置”, “数据库”, )
⽤户名=读配置项 (取运⾏⽬录 () +“\Config.ini”, “配置”, “⽤户名”, )密码=读配置项 (取运⾏⽬录 () +“\Config.ini”, “配置”, “密码”, )
.如果 (数据库连接1.连接SQLServer (服务器, 数据库, ⽤户名, 密码) =假) 信息框(“数据库连接失败”, 0, )
返回 ()
.否则
记录集1.置连接 (数据库连接1)
.如果结束
记录集1.打开(“⽤户表”, #数据表名)
.计次循环⾸ (记录集1.记录数量, )
记录集1.读⽂本(“⽤户名”, ⽤户)
组合框1.加⼊项⽬ (⽤户, )
记录集1.到下⼀条 ()
.计次循环尾 ()
从ACCESS数据库读取数据是件⾮常简单的事,只需要⼏⾏代码就可以完成操作了。
我们先来修改⼀下程序的界⾯,因为这只是⼀个⼩例程⽽已,没有考虑到界⾯的美观及实⽤性上的问题,所以我们只是粗略的做了⼏个编辑框⽤于显⽰数据,没问题吧,呵呵!
下⾯的是⼀个⼦程序,⼦程序的名字是“读出数据”,主要⽤于从数据库中读取所需要的数据,这⾥有⼏个地⽅需要注意。
1、当前操作的是哪个记录集,可别搞错了。
2、当前操作的是哪⼀条记录,也别搞错了,呵呵!由于具体是读取哪⼀条记录是由记录集本⾝来决定的,所以这⾥可以暂时不考虑这个问题,但⾃⼰在清楚哦!
3、在易语⾔中,不同字段类型的读取所使⽤的代码是不⼀样的,注意⼀下,如果不清楚要⽤什么语句的话,最好是先看⼀下你的数据库中对应字段是什么类别的。
看看下⾯的代码,就可以看出,有些字段是⽂本型的,有些字段是双精度型的,这⾥⼀定别搞错了!
数据库简单吗
下⾯的对记录的操作了,代码⾮常的简单,就是确定当前操作的哪⼀条记录,然后把指针指向要操作的记录,剩下的事就交给上⾯的“读出数据”这个⼦程序去处理了,是不是很简单,呵呵!
存在的问题,上⾯的代码很简单,感觉没什么问题,但实际上,问题还是有的,呵呵,⼤家可以⾃⼰测试⼀下,当点击“⾸记录”,程序显⽰第⼀记录后,再点击“上⼀记录”,这时会出现什么问题呢?这时就会出错了,这个问题如何处理呢?我们下⼀节来解决,呵呵!
上⼀节我们留下了两个问题,就是在进⾏读操作的时候,如果已经读到第⼀条记录了,再点击前⼀记录,就会出现读出的数据有误,这是因为数据库中指针的指向出现了问题。
解决的办法⾮常简单,就是要先判断当前是不是第⼀条记录,如果不是第⼀条记录,那么就可以向前⾛,如果已经是第⼀条记录了,就不再向前⾛就⾏了。
代码如下,就是加了⼀个判断⽽已,⽤了⼀个“当前位置”的属性,帮助⽂件中的说明如下:“数据类型:整数型;只读;当前记录在记录集中的位置,0为第⼀条记录。”
这⾥要注意⼀下,就是第⼀条记录时,当前位置是0。
那同样的,当指针已经到达最后⼀条记录时,也需要判断⼀下,注意看下⾯的代码。
在判断是否是最后⼀条记录时,也使⽤“当前位置”这个属性,不过⽤于判断的是“记录数量”,这⾥同样需要注意的是“记录数量-1”,好好理解⼀下是什么意思,呵呵!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论