在LabVIEW中利用LabSQL操作ACCESS数据库 - jlinfeng的个人空间 - cpubbs论坛免费虚拟仪器博客 labview虚拟仪器讨论区 - cpubbs论坛 虚拟仪器论坛|labview论坛|labwindows论坛|vi|cvi|数据采集卡|入门教程|初学|软件下载|虚拟仪器免费博客|虚拟仪器电子商务|虚拟仪器商城|虚拟仪器人才中心|图形化单片机编程cpuview|虚拟仪器在线商城 - Powered by X-Space

在LabVIEW中利用LabSQL操作ACCESS数据库

上一篇 / 下一篇  2009-01-04 15:37:34 / 个人分类:Labview

200914      jlfzhz@gmail.com

 

有时候想想,网上关于这方面的资料很多,我就不必再写这方面的东西了,可是想想,我遇到的问题,还是要googlebaidu很久,所以,我决定把我遇到的问题整理一下,以供大家参考。

关于LabVIEW,我就不多说了,不知道LabVIEW的人也不会用它来编程,呵呵。

关于ACCESS,可以打电话问微软客服中心。

先说关于LabSQL的废话:

LabSQL 是一个免费的、多数据库、跨平台的LabVIEW 数据库访问工具包。目前的版本是LabSQL Release 1.1LabSQL 支持Windows 操作系统中任何基于OBDC 的数据库,包括AcessSQL ServerOrcaleSybaseMySQL等。LabSQL 是利用Microsoft ADO 以及SQL 语言来完成数据库访问,将复杂的底层ADO SQL 操作封装成一系列的LabSQL VIs。利用LabSQL 几乎可以访问任何类型地数据库,执行各种查询,对记录进行各种操作。它的优点是易于理解,操作简单,不熟悉SQL 语言的用户也可以很容易地使用。只需进行简单地编程,就可在LabVIEW 中实现数据库访问。它还有一个最大的优点是源代码开放,并且是全面免费的。(注:LabSQL 的下载网址http://jeffreytravis.com)。

ACCESS数据库中,有很多SQL语句都不能执行。ACCESS仅提供了CREATE,INSERT ,UPDATE,DELETE等基本的SQL语句。这样使得在使用过程中我们还需要使用写属性节点来编程。

 

1. 如何利用LabSQL创建ACCESS数据库?

LabSQL中总是要指定DSN才能进行操作,因此,创建数据库就不太好办了,我们可以利用LabVIEW中的ActiveX技术来实现:

注意:确定E:\Demo目录是否存在!

当然,方法很多,这里提供一种,仅供参考。

 

2. 如何利用LabSQL重命名数据表名称?

在其他的数据库里,有专门的重新命名的SQL语句,可是那些语句放到ACCESS有点找不到北了,我采用了下面的方面:

2步:先把表1里的内容全部拷贝出来,插入到表2;然后删除表1

 

3. 如何获取数据表字段名?

可以通过下面的方法获取数据表字段名(Access

 

4. 如何获取数据库里所有表的名称?

首先打开面板: 工具>>选项,在视图页中的显示栏 把隐藏对象和系统对象显示出来。见下图:

点击确定关闭面板后,可见下图出现些隐藏的数据表:

接下来我们对MSysObjects表进行操作。

结果数组里就是数据库所有用户数据表的名称了。

 

解决"操作必须使用一个可更新的查询"

原因:
有几个主要的错误原因:
这个错误发生在当你的程序试图执行更新数据库或其它类似操作时。这是因为
ADO
由于以下的几个原因而不能够写数据库造成的。
1
、最普遍的原因是匿名用户帐号(IUSR_MACHINE)对该数据库文件没有写权限。
 要解决这个问题,在管理器中调整数据库文件的属性,让匿名用户有正确的权限。当使用ACCESS数据库时,不仅要给文件写的权限,还要给该目录写 的权限,因为Jet需要在该目录建立一个.ldb文件。
2
、第二个原因是数据库没有使用正确的模式打开。应该使用下面的方法打开。
  SQL = "UPDATE Products Set UnitPrice = 2;"
  Set Conn = Server.CreateObject("ADODB.Connection")
  Conn.Mode = 3   '3 = adModeReadWrite
  Conn.Open "myDSN"
  Conn.Execute(SQL)
  Conn.Close
  注意默认的Mode是设置0(adModeUnknown),它是允许更新的。
3
、还有可能是在ODBC管理器中将该DSN的只读选项选中。
4
、你是在同时更新两个表中的字段,也会出现这个错误信息,解决办法是分开来更新这两个表中各自字段。
5
、当你使用了一个从低版本中(如ACCESS2.0,ACCESS7.0)载入到高版本(ACCESS 2000)中的查询时,在执行这个查询是会出现该错误


TAG: ACCESS LABSQL LabSQL labview LabVIEW LABVIEW 数据库

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

我的栏目

日历

« 2024-05-11  
   1234
567891011
12131415161718
19202122232425
262728293031 

我的存档

数据统计

  • 访问量: 262983
  • 日志数: 1
  • 建立时间: 2009-01-04
  • 更新时间: 2009-01-04

RSS订阅

Open Toolbar