admin 管理员组

文章数量: 1184232


2024年3月27日发(作者:快手空格代码)

维普资讯

《工业控制计算机}2006年19卷第7期 37 

基于iFIX中VBA的数据库加密和应用 

Application and Encryption of Database Based on VBA in iFIX 

孟昭晋 (河海大学电气工程学院,江苏南京210098) 

摘要 

通过基于iFIX的VBA编程,制作窗体,利用ODBC和ADO技术读写Access数据库,实现类似iFIX中电子签名功能, 

并对Access数据库进行加密。该应用实例方便有效并且现场运行稳定。 

关键词:iFIX,VBA,ADO,Access 2000,应用和加密 

Abstract 

In this paper.programmed by VBA based on iFIX.form was done,ODBC and ADO technologies were used to write and 

read Access database.in order to carry out similar function of electronic signature in iFIX.also,encrypt the database.The 0p— 

erating results show that it can run steadily. 

Keywords:iFIX.VBA.ADO,Access 2000.Application and Encryption 

iFIX是美国Intellution公司开发的大型工控组态软件,是当 

部分关键代码如下: 

今世界工业控制领域最为流行的上位机监控软件之一。iFIX采 

Private DLObi 

A工×)连接()DBc教扭:枨 

用嵌入式VBA(Visual Basic for Application)标准语言,简单 

Dim ObjectsDataSource As Object 

易学,便于更好的开发iFIX的附加功能。本文基于iFIX工作平 

Dim Dcn As New ADODB.Connec. 

< 

j : 譬 圯 

\一 

台进行开发,采用VBA编程实现实时存取数值修改记录到Ac— 

1ion 

q 埘NUI11 个 

cess关系数据库,并根据企业管理要求对Access数据库进行 

Dim rs As ADODB.Recordset 

毅 ‘ 竹之l1 舶数宁 

加密。 

Dim cn As New ADODB.Connection 

Dim rs1 As New ADODB.Recordset 

j输入 1. 

1 基于VBA的数据库加密和应用实例 

/  _l_~

Dim New value As Double 

首先在VBA编程环境中 

Dim sTag As String 

? i ̄ii' > 

、 

一 

、、 / 

插入一个窗体frmModify,然 

Dim sDec As String 

、  .

,一

后在此窗体上添加5个文本 

1 t3蔓^、 _琦\

她 

sDec=”聚合釜一(01一A0503A)转速 

、尊 箩 

框txtNum、txtName、txtPwd、 

sTag= Fix32.Fix.XC

_

A101 F-CV” 

txtLow、txtHig,“清除”、“关 

If lxtNum.Text= Then 

0%徽≥~

闭”、“确定”3个按钮以及“上 

MsgBox(”请输入数值!”) 

、一 ’ 

 - 

0 

限”、“下限”、“工号”、“密码”4 

Else 

个Lable。如图1所示。 

New

◇ . 

_

value=CDbl(txtNum.Text) 

进 

当操作员对某一工艺参 

End If 

慑 l迅蠢趣 、、 

、、 一 一’ 

数进行修改时,点击画面中需 

If ObjectsDataSourge.ClassName= 

要修改的数据链接,弹出该窗 

“COpcDataltem“Then 

阿i f 息溃, ̄ccess数 J I 

 i

体,在窗体的Caption中显示 

If binAIpha=False Then 

f帮柙 —z不 I

该数据链接的中文描述,在 

If(Va(txtNum.Text)>HighLimit)Or_ 

 ̄tNum中输入需修改的数 

(Val( ̄tNum.Text)<LowLimit)Then 

值,然后在txtName和txtPwd 图1文本框界面 

blnError=True 

图2程序流程图 

Else ObiectsDataSOurce.Value=txtNum.Text 

中输入工号和密码后点击“确定”按钮,程序通过与表Logon进 

End If 

行比较判断,工号、密码、权限完全正确则完成修改。同时将操作 

txtNum.SetFocus 

员工号,操作日期和时间以及被操作数据链接及其描述,修改后 

Set ObjectsDataSource=System.Find—Object(DLObj) 

的数据等信息保存到数据库中表Hist。因此实现如上功能必须 

Set rs=New ADODB.Recordset 

用到数据库,这里我们采用Access数据库。首先打开控制面板 

Set rsl=New ADODB.Recordset 

中的管理工具,配置0DBC数据源,然后在VBA环境下编程, 

Dcn.CursorLocation=adUseClient 

选择工具菜单的引用选项引用Microsoft ActiveX Data 2.8 Li— 

Dcn.Open Provider=MSDASQ Ll 1;PersisL Security Info=true;Data 

brary,利用ADO技术连接所需的已进行系统级加密的ODBC 

Source=

Login 1029 

数据源,其中数据服务提供者使用MSDASQL以便于连接远程 

rs.CursorType=adOpenKeyset 

rs.LockType=adLockOptimistic 

数据库服务器。考虑到程序运行的鲁棒性以及实际要求,给 

rs.Open”select fr0m Login ,

一 

txtNum中的输入值设定上下限,并在数值输入处设置按钮清除 

Dcn..adCmdTable 

txtNum中全部数据。程序流程图如图2。 

CR.CursorLocation=adUseClient 

维普资讯

38 

cn・Open P ovider=MSDASQL・1;Persist

Security Info=true;Data 

基于iFIX中VBA的数据库加密和应用 

幽 篷蘩 蕤 爨 黉罄蓉鏊 

Source=

麴 熬躺瓣 趱 瀚鞭壤 舞 鞠 翳糍 圈 

Record”..”密码” rj r 虻加9 ^I r  ̄008-3-02 05 5l辅 喜鲞C 卜柏湖^) 嚏 

rs1.CursorType=adOpenKeyset 

rs1.Open select frOm His(',cn…

rs.MoveFirsl 

If rs1

rs1.LockType=adLockOptimistic 

DO 

l 

adCmdTable 

l rl ni I rm 虻工c LJ朋 s嘲O IJ” L 2 a鲤 20∞o06 -3},-‘精02∞ 2 ∞0:黯鸵转: 位篇t科l3惦 粟  爱I《 嚣台薹釜。I£Oa 卜I-柚| 903^)!雌转赣蘧嚣 ,; 

叫 

l 

l 

ri r lcJ0 工r上 2。o64-02. :口5:笛辅 聚台基IO卜柚903^) ,遁 

2。06。,啪 

2o口6- ∞ 

曲0时嚣 

斯 ∞ 

2。06- 拍 

EOF=False Then rsl MoveLast l r蚋 rri 成m 虻—J^柚 059n姒3LJI r 2掷。06巾-,啪鞠 ∞ 耵:翳麓《锄口 爱 聚台盒萋釜cOal卜-如^0s903^,) #}疆遥 {l 

r ∞耵05鹌8 

ri mlc_l09姒X r 

… 蕊!理疋^oS。3L” 

ri越m虻帕獬^I r 

ri m珏^ I r 

缸翳t3l00 

扯辅: 

∞:耵 3唾5 

∞:聪:虢约口 

粟台釜IO卜^嘲^,转健 

搴崔 嘲鼬嫌薅 

聚台鳖COl-柏铀^,醐I 

聚台鲞c Bl_脚^)转蘧 

l 

l 

l 素台璧cO卜^0s03^,耢馐 

柑 ri ml 螂sO3^I r 2瞄。 ∞:耵:恐t耵 蔫台釜C01-t4603 ̄)鹎l埋 

rs1.

u paat

 .

extBoxl Value=Nul

… !

I 

 

~ …

 銎

 

…~ ……。~…… 

10在其中输入需要 

加醐黝嘧

艏… 

g i! Re c o r d  ̄ 

… 

、 产项目中成功 

E;

cc 

嚣委

苎 : 曼 

。 

墨 曼 

Lo~ 

 

~~ 一 

员的方法

易竺曼 量要兰 享 

。 

曼. : [1]麦克.

。 

vlsuaI 

参考文献 

VBA访问太复杂,而一些力! 件则会造 VBA访 …蕃 子 

Basic开发指 ̄

20

 :

~D

 …… 一…“一’…~ 

O 【M].张光霞,孙月琴,刘钊,等. 

MI

N;Use ID=SYSTEM; [1]WondenⅣare公司

ata Source=SJ_SERVER”): WondenⅣare公司

Facl

1 999 

orySuite NetDDE user Guide【

~ 

R].美国: 

数据提供者P 0v‘

SQLC

d。 为MsD RA进行连接 [2]刘友华

onnect(Co ectionld,”Provider=MSDAORA.1;Password=AD。 学出版 

王贤平..NET环境下数据库应用系统开发技术【

’ 。 ~

M]

 

.北京:

‘ 

科 

2004 

M 

数据提供者 

N;U

se

ID =SYSTEM D a

……

ovide 为OraOL

“ 

B・

。。

=s

rac

 !

le进行连接 

V !”): [3]we

发中心技柔文,

i—Meng Le.

数据访问技术的演变【

20 4—04:0 ) ‘ 

EB/O L]

一。

.微软MS

 

DN数据开 

~ 

i 


本文标签: 数据 数据库 修改 进行 应用