社区应用 社区服务 会员列表 统计排行 帮助 银行
  • 101阅读
  • 5回复

[数据库]如何获取MDB数据库的记录条数?

楼层直达
级别: 托儿所
发帖
6
铜币
104
威望
0
E积分
0
技术积分
0
在易语言中,如何使用“外部数据库组件”获取MDB数据库的某个表的“字段数”和“字段名”?
发帖
107
铜币
0
威望
0
E积分
0
技术积分
0
只看该作者 沙发  发表于: 07-10
66666666666666666666666666
发帖
513
铜币
5673
威望
0
E积分
0
技术积分
0
只看该作者 板凳  发表于: 07-11
建议改用数据库连接和记录集这两个控件来代替外部数据库组件,记录集就可以取字段数量和字段名称。

数据库连接和记录集,功能远比使用外部数据库的功能方便、灵活、功能多。
级别: 托儿所
发帖
6
铜币
104
威望
0
E积分
0
技术积分
0
只看该作者 地板  发表于: 07-11
回 2楼(谢健) 的帖子
数据读写,这个组件比较快呢,ADO1.33Q也试过,对比外部数据库读写都慢了,编译状态和调试状态都试了。
发帖
1282
铜币
9958
威望
0
E积分
64
技术积分
2
只看该作者 4楼 发表于: 07-12
外部数据库组件(ODBC),貌似无法取到mdb数据表的字段,通常取MDB字段,都用数据库连接组件(ADO)+记录集的方式或者用数据库连接对象+记录集对象来取,也可以用COM对象来取,不过用COM对象取来的MDB字段是乱序的。
.版本 2
.支持库 eDB

.子程序 取MDB表字段名, , , 直接用记录集.取字段名()的方法循环取所有字段名
.局部变量 n, 整数型
.局部变量 字段名数组, 文本型, , "0"

清除数组 (字段名数组)
记录集1.打开 (“select * from 表名”, #SQL语句)
.计次循环首 (记录集1.字段数量, n)
    加入成员 (字段名数组, 记录集1.取字段名 (n - 1))
.计次循环尾 ()


.版本 2
.支持库 ADODB2

.子程序 取Access字段名, , , 返回字段名到数组,支持mdb及accdb
.参数 Access文件名, 文本型
.参数 Access密码, 文本型, 可空
.参数 Access表名, 文本型
.参数 Access字段名数组, 文本型, 数组
.局部变量 数据库连接对象, 数据库连接对象
.局部变量 记录集对象, 记录集对象
.局部变量 n, 整数型
.局部变量 连接字符串, 文本型

' 数据库连接对象不支持静态编译,实际运用中可改为用数据库连接控件
清除数组 (Access字段名数组)
.如果真 (是否为空 (Access密码))
    Access密码 = “”
.如果真结束
.如果真 (取文本右边 (Access文件名, 3) = “mdb”)
    连接字符串 = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” + Access文件名 + “;Jet OLEDB:DataBase Password=” + Access密码 + “;Persist Security Info=False”
.如果真结束
.如果真 (取文本右边 (Access文件名, 5) = “accdb”)
    连接字符串 = “Provider=Microsoft.ACE.OLEDB.12.0;Data Source=” + Access文件名 + “;Jet OLEDB:Database Password=” + Access密码 + “;”
.如果真结束

.如果 (数据库连接对象.打开 (连接字符串, , , ))
    记录集对象.打开 (“select * from [” + Access表名 + “] order by colorder”, 数据库连接对象, 3, -1, 1)
    .计次循环首 (记录集对象.取字段数 (), n)
        加入成员 (Access字段名数组, 记录集对象.取字段名 (n - 1))
    .计次循环尾 ()
.否则
    信息框 (数据库连接对象.最后错误, 0, )
.如果结束
记录集对象.关闭 ()
数据库连接对象.关闭 ()
级别: 幼儿园
发帖
32
铜币
0
威望
0
E积分
0
技术积分
0
只看该作者 5楼 发表于: 07-12
怀念那我们的青春啊....
快速回复

限60 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
认证码:
上一个 下一个