IFIX-通过ODBC及ADO写数据到ACCESS数据库

  • 格式:pdf
  • 大小:162.91 KB
  • 文档页数:8

通过ODBC及ADO写数据到ACCESS数据库方法一:

新建一个ACCESS数据库,存到C:\ABC.MDB,数据库有一个表FORM,有三个字段ID、

DATETIME、VALUE,并且DATETIME设置的默认值为NOW(),这样每写入一条记录,

自动记录下当前日期时间。

在ODBC里创建系统DSN,由于采用ACCESS数据库,需要选择如图所示的驱动。

点击完成后如下图,写上数据源名为TEST

点击选择按钮

选择C:\ABC.MDB

选择后

选择高级,设置用户名密码均为sa

选择确定后

启动IFIX,新建一个调度TEST

新建一个基于时间项

设置为每5秒触发一次,点V B编辑器,写上如下代码

Private Sub FixTimer3_OnTimeOut(ByVal lTimerId As Long)

Dim conODBC As ADODB.Connection

Dim adoRS As ADODB.Recordset

Set conODBC = New ADODB.Connection

Set adoRS = New ADODB.Recordset

Dim strQuery As String

conODBC.ConnectionString = "DSN = test; UID =sa; PWD =sa;"

conODBC.Open "test", "sa", "sa"

strQuery = "select * from form" '或者表名FORM或者SQL选择语句

adoRS.Open strQuery, conODBC, adOpenDynamic, adLockPessimistic

adoRS.AddNew

adoRS!Value = 454545

adoRS.Update

adoRS.Close

conODBC.Close

End Sub

一定要选择如下图这一步:点击工具-引用,在下所示中,勾上microsoft activex data objects 2.7 library,否则会报错的。

确定后保存。右键点击FIXTIME3这一条,选择调度程序属性

选择为后台运行

选择是

选择是

如上图已经激活,去看数据库吧,已经有数据了。

通过ODBC及ADO写数据到ACCESS数据库方法二:

此方法设置同上方法一,只是精简了代码部分

Private Sub FixTimer3_OnTimeOut(ByVal lTimerId As Long)

Dim conODBC As ADODB.Connection

Set conODBC = New ADODB.Connection

conODBC.ConnectionString = "DSN = test; UID =sa; PWD =sa;"

conODBC.Open "test", "sa", "sa"

conODBC.Execute "insert into form([value]) values(3433) "

conODBC.Close

End Sub

通过ADO写数据到ACCESS数据库方法三:

此方法由于采用了连接字符串,可以免去ODBC设置,纯粹的ADO编程,代码简单,直接

采用SQL语句写数据到ACCESS数据库中。

Private Sub FixTimer3_OnTimeOut(ByVal lTimerId As Long)

Dim conODBC As ADODB.Connection

Set conODBC = New ADODB.Connection

conODBC.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data

Source=C:\abc.mdb;Persist Security Info=False" '采用连接字符串,可免去ODBC设置

conODBC.Open

conODBC.Execute "insert into form([value]) values(3433) "

conODBC.Close

End Sub

以上三种方法均可将3433/454545替换为readvalue("Fix32.FIX.ABC.F_CV", 0)读实时数据的

方法,实现将实时数据写到ACCESS。在IFIX3.5/WINDOWS 2000 PROFESSION 带SP4通

过测试。