首页 IFIX连接SQL读写数据和制作excel报表图文教程

IFIX连接SQL读写数据和制作excel报表图文教程

举报
开通vip

IFIX连接SQL读写数据和制作excel报表图文教程IFIX连接SQL读写数据和制作excel报表图文教程IFIX连接SQL数据库、制作excel报表详细教程 一、 IFIX连接SQL数据库读写数据 IFIX连接SQL数据库有多种方法,其中最为方便的两种方法是: (1)使用IFIX本身为SQL数据库提供的接口SQT和SQD; (2)VB+ADO。 下面分别介绍着两种方法的实现步骤。 1、使用SQT和SQD读写SQL数据库 1.1 安装SQL2008 (只列出关键步骤,其余直接点击“下一步”或“安装”) 打开SQL安装中心,点击“安装”; SQL2...

IFIX连接SQL读写数据和制作excel报表图文教程
IFIX连接SQL读写数据和制作excel报 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 图文教程IFIX连接SQL数据库、制作excel报表详细教程 一、 IFIX连接SQL数据库读写数据 IFIX连接SQL数据库有多种方法,其中最为方便的两种方法是: (1)使用IFIX本身为SQL数据库提供的接口SQT和SQD; (2)VB+ADO。 下面分别介绍着两种方法的实现步骤。 1、使用SQT和SQD读写SQL数据库 1.1 安装SQL2008 (只列出关键步骤,其余直接点击“下一步”或“安装”) 打开SQL安装中心,点击“安装”; SQL2008简体中文版安装包下载链接: 点击“全新SQL Server独立安装或向现有安装添加功能”; 点击“输入产品密匙”,点击“下一步”:(根据版本选择) sql server2008密钥 Developer: PTTFM-X467G-P7RH2-3Q6CG-4DMYB Enterprise: JD8Y6-HQG69-P9H84-XDTPG-34MBB Microsoft SQL Server 2008 R2序列号密钥 开发版32位:MC46H-JQR3C-2JRHY-XYRKY-QWPVM 开发版64位:FTMGC-B2J97-PJ4QG-V84YB-MTXX8 工组版:XQ4CB-VK9P3-4WYYH-4HQX3-K2R6Q WEB版:FP4P7-YKG22-WGRVK-MKGMX-V9MTM 数据中心版32位:PTTFM-X467G-P7RH2-3Q6CG-4DMYB 数据中心版64位:DDT3B-8W62X-P9JD6-8MX7M-HWK38 企业版32位:R88PF-GMCFT-KM2KR-4R7GB-43K4B 企业版64位:GYF3T-H2V88-GRPPH-HWRJP-QRTYB 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 版32位:CXTFT-74V4Y-9D48T-2DMFW-TX7CY 标准版64位:B68Q6-KK2R7-89WGB-6Q9KR-QHFDW 功能选择界面,选择安装全部功能,点击“下一步”; 进入实例配置界面,选择默认实例,点击“下一步”; 进入服务器配置界面,启动类型均选为“自动”;点击“对所有SQL Server服务使用相同的账户”,在弹出的界面中选择第一个账户,密码不用填;返回服务器配置界面点击下一步; 进入数据库引擎配置界面,选择混合模式,输入自己设定的密码,点击“添加当前用户”,点击下一步,直至安装完成,关闭安装中心。 1.2 进入SQL server新建SQL登录名和数据库 打开SQL,以Windows身份验证登录; 连接完后,点击“安全性”-“登录名”,右击选择“新建登录名”: 在弹出的界面中,点击左上角的“常规” ,输入登录名、密码,不要勾选强制密码过期,之后点 击左上角“服务器角色”; 在弹出的界面中,根据需要勾选所需权限,这里全部勾选,再点击“用户映射”; 在弹出的界面中,“映射到此登录名的用户”内勾选所有数据库,并在每个数据库的“数据库角色成员身份”中勾选db_owner和public,而后点击“确定”,完成新建登录名。 完成登录名创建后,断开当前连接或是退出SQL重新进入软件,以SQL身份验证登录,输入刚刚新建的登录名,点击“连接”; 连接后,右击“数据库”,选择“新建数据库”,以默认配置完成新建,如这里新建数据库,取名为db1。 进入db1,新建三张表,新建右击“表”,选择“新建表”,输入如下图的列名及数据类型;点击保存,输入表名为sqllib,用于保存SQL命令; 新建第二张表,列名及数据类型如下图,取名为sqlerr,用于保存各类错误: 新建第三张表,用于保存需要的工业历史数据,这里将表取名为data,添加两个列COL1和COL2,数据类型都为float。 接下来为sqllib表添加SQL命令,这里添加一条向data表的COL1、COL2写 入数据的语句,右击“abo.sqllib”,选择“编辑前200行”;写入如下图的内容,点击保存。 注:如果要读取数据库内的数据,只要将该SQL命令换成相应的select语句。 1.3 创建ODBC数据源 打开控制面板,依次点击“管理工具”-“数据源(ODBC)”,进入如下界面: 在点击“系统DSN”-点击“添加”按钮,在如下界面中选择“SQL Server”,点击“完成”。 在以下界面中填写名称命名数据源,服务器填写自己的计算机名 (获取计算机名按照如下步骤: 右击桌面的“计算机”-选择“属性”,在弹出的界面上就可以看到),点击“下一步”; 按照下图配置,填入刚刚在SQL中新建的登陆名和密码,点击下一步; 勾选“更改默认的数据库为”,在下拉框中选择刚刚新建的数据库名,点击下一步; 直接点击“完成”按钮。 之后你可以在弹出的界面中点击“测试数据源”,若测试成功,则可以进入下一步骤。 1.4 在SCU内配置SQL 打开IFIX,点击“SCU”,进入配置界面; 在如下界面中点击“配置”-选择“SQL”, 在弹出的界面中点击“增加”按钮,填入相应信息,点击“确定”。 选中刚刚添加的SQL账户,点击“配置SQL任务”; 启用SQL支持,选择我们所创建的数据库ID,点击“确定”,完成配置。 1.5 在IFIX内创建SQT和SQD数据块 打开IFIX的数据库管理器,创建数字量输入数据块DI1,当DI1的值发生变化时就触发SQT(当然也可以采用时间事件来触发SQT,下面也会有介绍),点击界面内的“高级”标签。 进入高级标签,勾选“启用输出”和“手动”; 一般要保存到关系数据库的历史数据都是模拟量,因此本教程以模拟量为例子,将其存入SQL数据库。创建模拟量寄存器数据块AR_1和AR_2: 创建数据块SQT,在数据库管理器中新建数据块,选择SQT类型,如下图; 进入如下的界面,若要采用DI1数值变化来触发SQT,则如下图填写信息。在刚刚创建的db1数据库中,我们建立了sqllib表,并在表内添加了sqlname为cmd1,sqlcmd为“Insert into data??”这条语句。在如下界面中,SQL名填写“cmd1”,数据库ID填写“db1”(所建ODBC数据源名称),事件标签写入 “DI1.F_CV”,事件类型勾选“值变化”,这样,当DI1的值变化时,SQT就会触发,找到db1数据库下的sqllib表内sqlname等于cmd1的这条语句,并执行。 在上图中的“下一块”中填写SQD_1,构成数据链,此时会弹出如下界面,点 击“yes”; 创建SQD数据块,如下图填写,因为是向数据库添加数据,所以方向选为OUT。 保存数据库管理器。这样,就建立了一个DI1值变化触发的SQT和SQD。 如果我们希望以时间事件来触发SQT,应在建立SQT数据块的时候,设置触发 时间,其余步骤相同。例如,我们希望每天晚上23:00至23:59这段时间内,每5分钟记录一次数据到SQL数据库,建立SQT数据块时应如下图填写: 在IFIX主界面点“应用程序”,打开“任务控制”; 验证SQL服务是否启动,如下图所示说明注册成功。 作进一步验证,在数据库管理器内更改DI1 的当前值,如将CLOSE 改为OPEN, 按 Ctrl + R, 观察到SQT_1 的当前值增加1,意味着SQT 被触发一次,打开SQL也可以发现data表增加了一行记录。 以上就是使用SQT和SQD读写SQL数据库的详细步骤。 2、使用ADO访问数据库 2.1 定时向数据库添加记录 首先,参照1.1-1.3的内容建立数据库(只需建立data表,sqllib和sqlerr 不需创建),创建ODBC数据源。 打开IFIX,双击下图左下角的“数据定时写”,新建基于时间项; 假设我们要在每晚23:00自动存数据,则如下图设置: 点击“VB编辑器”,写入如下代码: 填上代码后,一定要选择如下图这一步:点击“工具”-“引用”,在下图界面中,勾上microsoft activex data objects 2.1 library,否则会报错。 确定后保存。 右键点击FIXTIME8这一条,选择“调度程序属性”,在如下画面中选择“后 台运行”,点确定; 在后续弹出的窗口中都选择“是”,直至完成,fixtimer8激活,时间一到, 程序就会自动添加记录。 2.2从数据库读数据 从数据库读数据一般采用按钮触发,可以在ifix里新建一个画面,添 加一个按钮,在按钮 的脚本里添加代码,最后记得引用microsoft activex data objects 2.1 library。代码基本和2.1相同,只是把相应的insert命令换成select语 句。 二、 IFIX制作excel报表 1、在建好数据库和数据源(参照1.1-1.3)后,新建一个ifix画面,添加一个ole对象,选择“Microsoft Web Browser”,用来显示报表; 2、新建一张excel报表模板,放到工程目录的APP文件夹下,如“人工数据 日报表.xls”; 3、新建一个按钮,为其编写脚本,粘贴如下代码(覆盖新建画面原有的代码): Option Explicit Dim a As Single ‘定义中间变量,用来暂存从数据库中取出的数据 Dim b As Single Dim rsADO As ADODB.Recordset ‘定义连接数据库的ADO变量 Dim conn As New ADODB.Connection Public CmdTruck As New ADODB.Command Public dbUpdata As New ADODB.Command Public rstUpdata As New Recordset Private Sub CommandButton3_Click() ‘点击按钮的响应函数 Call showbb ‘调用显示报 表的函数showbb Call closeDB1 ‘调用关闭数 据库的函数closeDB1 End Sub Private Sub showbb() Dim Rs As New ADODB.Recordset '定义连接数据库的ADO变量 openDB1 ‘打开DB1数据库,该函数在后面有定义 CmdTruck.ActiveConnection = conn CmdTruck.CommandText = "select max(COL1) as COL1,max(COL2) as COL2 from data" ‘从data表读取COL1和COL2的最大值 Set Rs = CmdTruck.Execute ‘执行SQL语句 a = 0 b = 0 If Not (Rs.BOF Or Rs.EOF) Then ‘将读出来的数据传给中间变量a、b If (Rs!col1) Then a = Rs!col1 b = Rs!col2 End If End If Dim xlApp As Object '定义报表对象 Dim xlBook As Object Dim xlSheet As Object On Error GoTo errorhandle Set xlApp = New Excel.Application Set xlBook = xlApp.Workbooks.Open(System.ProjectPath & "\app\人工数据日报表.xls") ‘打开报表模板 Set xlSheet = xlBook.Worksheets(1) xlApp.DisplayAlerts = False '警告禁用 xlApp.Visible = False 'EXCEL隐藏 xlSheet.Cells(10, 4) = a & "" ‘将中间变量的值写到对应excel的单元格 xlSheet.Cells(11, 4) = b & "" xlSheet.SaveAs System.ProjectPath & "\app\人工数据日报表.htm", FileFormat:=xlHtml '工作表另存为 xlApp.DisplayAlerts = True '警告使能 xlApp.Quit Me.WebBrowser1.Navigate System.ProjectPath & "\app\人工数据 日报表.htm" ‘在WebBrowser控件上显示报表 xlApp.Quit Set xlSheet = Nothing '释放内存 Set xlBook = Nothing Set xlApp = Nothing Set CmdTruck = Nothing Set Rs = Nothing Exit Sub errorhandle: MsgBox "报表生成错误~", vbOKOnly + vbInformation, "信息..." Set xlSheet = Nothing '释放内存 Set xlBook = Nothing Set xlApp = Nothing End Sub Public Sub openDB1() '定义打开数据库的函数openDB1 If conn.State <> adStateOpen Then With conn .ConnectionString = "Provider=SQLOLEDB; server=2C68LK83W2F62AZ;database=db1; uid=operation; pwd=123456;" ‘连接数据源的相关信息 .Mode = adModeReadWrite .Open End With End If End Sub Public Sub closeDB1() '定义关闭数据库的函数closeDB1 If conn.State = adStateOpen Then conn.Close End If End Sub 4、添加代码后点击“工具”-“引用”,在下图界面中,勾上microsoft activex data objects 2.1 library和Microsoft excel 12.0 object library,否则会报错。 5、最后保存代码。
本文档为【IFIX连接SQL读写数据和制作excel报表图文教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_003124
暂无简介~
格式:doc
大小:30KB
软件:Word
页数:12
分类:互联网
上传时间:2019-03-30
浏览量:19