力控关系数据库帮助文档
把力控的历史数据保存到ACCESS中并做查询的详细使用帮助文档
一、建立数据表模版
1、建立“数据表绑定”
力控的开发系统下,“工程项目”的导航栏中,在“数据表管理”下建立一个绑定的数据表,这个数据表的功能是把力控中的变量跟关系数据库中的表格模版进行绑定,如下图所示:
字段:可以用汉字,就是你建立表格的“表头”
3)SQLSelect(ConnectID,"Tab1" ,"A > 50 ORDER BY A DESC");
选择字段A大于50的记录,并以降序排序。
2、如何写程序
如下图所示,在“动作”——“应用程序动作”中,在“进入程序”中写入:SQLConnect和SQLCreateTable这两个函数
(1)、在使用SQLConnect( ConnectID,DataSourceDesc)中,需要填连个参数项,分别为id号和数据源描述,其中的id号可以定义为整型的中间变量,数据源描述需要点击脚本编辑器中的小绿地球,来实现其描述功能。具体使用方法如下:
SQLCreateTable(ConnectID, DataTableName, TableTemplateName)
说明
使用表格模板在数据库中创建数据表
参数
ConnectID数据源标识,由SQLConnect调用返回。
DataTableName字符串,新建的数据表名称。
TableTemplateName字符串,使用的数据表模板名称。数据表模板规
二、在D盘下建立关系数据库
在D盘下的新建一个文件夹“关系数据库”,在此文件夹中右键,新建一个ACCESS关系数据库,命名为:配方
三、在力控通过程序使之数据保存到关系数据库中
1、首先介绍对于跟关系数据库链接应该使用到的函数:
(1)、连接
SQLConnect( ConnectID,DataSourceDesc)
如下图画红圈的所示,说明已经创建成功:
点击“确认”,看脚本编辑器中,路径已经生成:
本条脚本结束后,用“;”号结束,换行编辑“创建表格”的函数
然后运行力控,再退出进入开发状态。这样“sunway”这个表在access关系数据库中自动创建了。
四、写数据到关系数据中以及用专家报表做查询功能
1、建立专家报表
选择“配方.mdb”,点击保存,弹出如下对话框:
按照提示,点击下一步操作,直至弹出如下对话框:
点击“选择”的按钮,然后选择“配方.mdb”的数据库名。确认后,返回。在“Select Data Source”中的“Look in”中,找到D盘下的“关系数据库”,有一个绿色地球的“配方.mdb.dsn”,点击选中后,点击“确认”按钮,进入下一步设置。
参数类型:使用变量的类型,注意这里的时间变量最好使用“字符型”
变量名在变量名的空白处双击,则弹出力控的变量选择框,您可以选择所需要的变量。如上图中,带有“$”的变量,是系统自带的中间变量,读取系统的当前时间。
2、建立“SQL数据表模版”
双击“SQL数据表模版”则弹出如下的对话框,按照“数据表绑定”的表格形式,建立与绑定表相对应的模版表。注:字段名和参数类型必须完全一样,一一对应!
开发环境下,在界面上引出:a2.pv和a3.pv。做一个“写入”按钮,每次点击“写入”按钮时,把数据写入到关系数据中,并在专家报表中显示出来。
我们在“写入”按钮的“左键”脚本动作中写入如下语句:
如果使用上图中的脚本,每次查询出来,会有一个弹出框,点击选择查询方式。如果是自动写入关系数据并显示的功能,可以用上图中绿色注释掉的脚本,不用#Reprot.SqlQuery(0,0)这条脚本就行了。
说明
使用捆绑数据表中指定的变量的当前值在数据表中插入一个新记录。
参数
ConnectID数据源标识,由SQLConnect调用返回。
DataTableName字符串,数据表名称。
BindTableName字符串,使用的捆绑表名称。
返回值:
0成功,-1失败
备注
捆绑数据表定义了DRAW变量和数据库表中的字段间的对应关系。
示例
SQLInsert(ConnectID,"Tab1", "A");
参数ConnectID由SQLConnect调用得到。
数据表名为"TAB1"。
数据捆绑表为"A",捆绑表"A"必须在SQL管理器中事先建立。
(4)、查询
SQLSelect(ConnectID,DataTableName, WhereExpr)
返回值:
0成功,-1失败
示例
1) SQLSelect(ConnectID,"Tab1","");
参数ConnectID由SQLConnect调用得到。
数据表名为"Tab1"。
条件为空""表示选择所有记录。
2) SQLSelect (ConnectID,"Tab1","A = 50称及属性。
返回值:
0成功,-1失败
备注
示例
SQLCreateTable(ConnectID,"TAB1", "A");
参数ConnectID由SQLConnect调用得到。
数据表名为"TAB1"
数据表模板为"A",数据表模板"A"必须在SQL管理器中事先建立。
(3)、插入
SQLInsert(ConnectID, DataTableName, BindTableName)
说明
在数据库中选择符合条件的记录,该函数返回一数据集,可以使用如
下函数SQLFirst(),SQLLast(),SQLNext(),SQLPrev()遍历该数据集
中的记录。
参数
ConnectID数据源标识,由SQLConnect调用返回。
DataTableName字符串,数据表名称。
WhereExpr字符串,选择表达式,只有符合该条件的记录被选中。也可以直接使用排序语句
点击“工具箱”中的“常用组件”——专家报表。则在画面上自动调出专家报表的控件,双击进入向导设置,如下图,选择“关系数据库向导”:
点击“下一步”,都按默认设置即可,直至第三步,按照下图,点击红圈标志的按钮,然后选择:Microsoft Jet 4.0 OLE DB Provider这个驱动:
点击“连接”项,点击红圈的那个按钮,选择“配方.mdb”这个数据库文件。
鼠标的光标放到id后面逗号与后括号之间,然后点击小绿地球,弹出如下对话框:
点击“新建”的按钮,弹出如下的对话框:
选择:Driver do Microsoft Access(*.mdb),然后点击“下一步”
点击浏览的按钮,找到D盘下的“关系数据库”文件夹,然后在“保存类型”处选择“所有文件”,则能显示“配方.mdb”
运行成功显示!
Database;DBQ=c:\FCSql\TEST1.mdb;DefaultDir=c:\FCSql\test;DriverId=25;
FIL=MSAccess;MaxBufferSize=512;PageTimeout=5;UID=admin;");
第二个参数可以通过点击SQL连接来选择。
(2)、创建
点击“打开”,然后点击“确认”
数据源路径已经自动生成,我们要做的工作是给“数据源名称”那里定义一个名称,可以自己任意定义,例如,我定义为:datasouce
点击“确认”
然后选择“数据源名称”,点击“下一步”:
选择“sunway”表明,则如下图:
点击“下一步”,直至完成,都按默认设置即可。
保存设置,退出报表向导。
说明
连接到指定的数据库
参数
ConnectID整型,数据源标识,为返回值,该值将用于其它SQL函数。
DataSourceDesc字符串,数据源描述。数据源描述可以通过"数据源"按钮得到。
返回值:
0成功,-1失败
备注
数据源使用完后,使用SQLDisconnect来断开连接
示例
SQLConnect(ConnectID,"DSN=MS Access 97