搬家第42天-citect2018连接sqlserver2008练习1-使用cicode和citectVBA动态创建ODBC,连接数据库,读取数据表

前面一段时间练习了citect2008与ACCESS数据库的读写操作,最近接到一个新的任务,涉及读取其他项目的sql数据表信息,于是先行练习一下。本次练习基于sql server2008.
假设现场有8个储煤槽,分别储存不同的煤种,储煤槽的煤种随着需求变化会发生变化。有两张sql数据表,一张表名字叫做kind,存储煤种列表,这张表的信息在citect2018中下拉列表框中列出,通过用户选择来设定每一个储煤槽存放的煤种名称。第二张表名字叫做storageinfo,存放8个储煤槽的煤种信息。
1.首先要启用sa账户,先用windows系统账户登录sql server,在安全性那里找到sa账户,右键属性。
设置完成后重新启动一下sql server服务器。
两张表的结构和初始信息如下
2. 新建一个citect2018项目,新建以下本地变量
mypath用于存放项目路径,今后的项目可能会用到,connstate表示与数据库连接状态,其他变量存放1-8#储煤槽的煤种信息。
3. 新建一个cicode程序,用于自动生成ODBC链接,思路与自动生成与ACCESS链接一样。
同样的为了让cicode代码中的exec函数顺利执行,需要在设置编辑器中设置security选项
设置安全性,角色administrators具备“允许执行”的权限,增加一个用户admin,属于administrators角色,设置密码。
新增一个start页面,这个页面只是为了在项目运行时自动生成ODBC连接,而且只运行一次,不考虑今后返回这个页面,可以将尺寸设置的小一点,我设置成10*10,在页面打开事件中写以下代码:
CreateODBCLinkSql()
PageDisplay("main", "Cluster1")
新建一个main页面,放置8个下拉列表框,辅以一些文字,这个页面用于设置每个储煤槽的煤种信息。今天的联系不做这一部分。另外设置一些按钮用于页面跳转和退出项目程序。
退出项目程序的cicode代码是shutdown()
新建一个页面page1,上面放置数值控件和文本控件以及一些页面跳转和退出项目的按钮控件。为了标识与数据库连接状态,放了两个文本控件,文字为“与数据库连接成功”,其隐藏条件为not connstate;另一个文本控件,文字为“与数据库连接失败”,隐藏条件为connstate,两个文本控件重叠在一起。放置两个符号,选择light_round_mediu,符号为ON的条件变量为connstate,connstate为off时红色,connstate为On时绿色。
数值控件关联到内部变量,用于显示实时煤种信息。
新建citectVBA程序
在page1的页面打开事件中调用这个sub
civba call GetStorageName()
每个储煤槽的信息可能被其他用户修改,所以也需要定时刷新一下。新建一个事件
这里每10秒刷新一下,设置了触发条件,必须是连接正常才会按照频率来刷新。
 
运行一下“设置向导”,自定义模式,选择项目运行时启用freshstorageinfo事件。
 
保存、编译、运行,可以测试修改数据表信息以及停止数据库服务,citect2018都能及时响应,并显示相关信息。
 
posted @ 2021-03-11 08:50  来自金沙江的小鱼  阅读(588)  评论(0编辑  收藏  举报