文档库 最新最全的文档下载
当前位置:文档库 › ifix连接SQL和读写EXCEL的方法

ifix连接SQL和读写EXCEL的方法

ifix连接SQL和读写EXCEL的方法
ifix连接SQL和读写EXCEL的方法

ifix连接SQL和读写EXCEL的方法

1228人阅读| 0条评论发布于:2008-9-1 10:04:00

连SQLSERVER

Dim rsADO As ADODB.Recordset

Dim cnADO As ADODB.Connection

Dim Sql As String

Sql = 'SELECT * FROM 数据库where 日期= ’' & Date & '’'

Set cnADO = New ADODB.Connection

Set rsADO = New ADODB.Record

set cnADO.ConnectionString = 'Provider = Microsoft OLE DB Provider for ODBC Drivers;driver=sql server;server=服务器;UID=sa;PWD=;database=数据库;'

cnADO.Open rsADO.CursorLocation = adUseClient ’写SQL server

rsADO.Open Sql, cnADO, adOpenStatic, adLockOptimistic

If rsADO.RecordCount = 0 Then

rsado.addnew

End If

With rsADO !数据项=... ...

end with

rsADO.Update

rsADO.Close

Set cnADO = Nothing

Set rsADO = Nothing

’读SQL SERVER ’改一个地方:rsADO.Open Sql, cnADO, adOpenDynamic, adLockUnspecified, -1 写到EXCEL

Dim objExcel As Object

Dim xlBook As Object

Dim xlSheet As Object

Dim Filename1 As String

Dim Filename2 As String

Dim FSO As Object

Dim msg As Integer

On Error Resume Next

Filename1 = 'E:\**.xls'

Filename2 = 'E:\module.xls' ‘先制作好模板文件

Set FSO = CreateObject('scripting.filesystemobject')

If FSO.FileExists(Filename1) = True Then

msg = MsgBox('文件已经存在,是否替换?', vbYesNo, '')

End If

If msg = 7 Then

Unload Me

End If

If msg = 6 Or FSO.FileExists(Filename1) = False Then

If FSO.FileExists(Filename2) = True Then

If objExcel Is Nothing Then

Set objExcel = CreateObject('Excel.Application') End If

objExcel.Visible = False

objExcel.Workbooks.Add(Filename2).SaveCopyAs (Filename1) Set xlBook = objExcel.Workbooks.Open(Filename1)

Set xlSheet = xlBook.Worksheets(1)

xlSheet.Cells(2, 'A') = ***

Set xlSheet = Nothing

msg = MsgBox('文件已经保存,是否打开?', vbYesNo, '')

If msg = 6 Then

objExcel.Visible = True

Else objExcel.Workbooks.Close

Set xlBook = Nothing

objExcel.DisplayAlerts = False

objExcel.Quit

Set objExcel = Nothing

End If

Else MsgBox '模板文件不存在' End If

End If

详细讲解SQL语句的连接查询的应用

推荐:详细讲解SQL语句的连接查询的应用 连接查询 通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。 在关系数据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在一个表中。当检索数据时,通过连接操作查询出存放在多个表中的不同实体的信息。连接操作给用户带来很大的灵活性,他们可以在任何时候增加新的数据类型。为不同实体创建新的表,尔后通过连接进行查询。 连接可以在SELECT 语句的FROM子句或WHERE子句中建立,似是而非在FROM子句中指出连接时有助于将连接操作与WHERE子句中的搜索条件区分开来。所以,在Transact-SQL中推荐使用这种方法。 SQL-92标准所定义的FROM子句的连接语法格式为: 其中join_table指出参与连接操作的表名,连接可以对同一个表操作,也可以对多表操作,对同一个表操作的连接又称做自连接。 join_type 指出连接类型,可分为三种:内连接、外连接和交叉连接。内连接(INNER JOIN)使用比较运算符进行表间某(些)列数据的比较操作,并列出这些表中与连接条件相匹配的数据行。根据所使用的比较方式不同,内连接又分为等值连接、自然连接和不等连接三种。 外连接分为左外连接(LEFT OUTER JOIN或LEFT JOIN)、右外连接(RIGHT OUTER JOIN或RIGHT JOIN)和全外连接(FULL OUTER JOIN或FULL JOIN)三种。与内连接不同的是,外连接不只列出与连接条件相匹配的行,而是列出左表(左外连接时)、右表(右外连接时)或两个表(全外连接时)中所有符合搜索条件的数据行。 交叉连接(CROSS JOIN)没有WHERE 子句,它返回连接表中所有数据行的笛卡尔积,其结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。 连接操作中的ON (join_condition) 子句指出连接条件,它由被连接表中的列和比较运算符、逻辑运算符等构成。 无论哪种连接都不能对text、ntext和image数据类型列进行直接连接,但可以对这三种列进行间接连接。例如: (一)内连接 内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。内连接分三种: 1、等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。

IFIX中各种数据块

首页?iFIX技术文章? iFIX技术文章:各类型数据块的典型应用 iFIX技术文章:各类型数据块的典型应用 您可以在以下应用场景下使用对应的数据块: AA 模拟量报警(模拟报警块) ?以设定的时间间隔从I/O 地址(如PLC 寄存器)读写模拟值。 ?执行平滑、信号条件和报警限值检查。 ?为每个类型的报警定义报警值和优先级。 ?当报警发生时关闭数字块。 ?只要该数据块仍处于有效的报警状态或“重新报警时间”未禁用,即可在“重新报警时间”字段中定义的时间内重新发出报警。 ?根据过程条件暂停此块内或多个块内的报警处理,提供智能报警。 ?从远程站点确认报警。 ?当链接到PID 或开关控制块时,帮助诸如直接数字控制等控制情况。 ?通过“下一个块”一栏把值传递给其它块。 AI 模拟量输入(模拟输入块) ?以设定的时间间隔或基于例外事件从I/O 地址(如PLC 寄存器)读写模拟值。?执行平滑、信号条件和报警限值检查。 ?当链接到PID 或开关控制块时,帮助诸如直接数字控制等控制情况。 ?通过“下一个块”一栏启动其它块的处理。 AO 模拟量输出(模拟输出块) ?把值发送到I/O 地址。 ?连接到调制的控制阀门和电机速度控制器。 ?从操作员显示屏、多数初级、二级和控制块接收值,包括PID 和梯度变化块。?通过“下一个块”一栏把值传递给其它块。 ?AR 模拟寄存器(模拟寄存器块) ?对多个I/O 位置进行读写,只要那些位置共用相同的工程单位限制和信号条件。?当无需报警和背景监视时,减少系统内存要求。 ?从PLC 内存上传和下载不常查看的或半静态的值。

BB 开关控制(开关块) ?为诸如加热器或泵之类的项提供实际控制。 ?提供特别的报警处理。 ?通过“下一个块”一栏处理其它块。 BL 布尔(布尔块) ?执行二进制操作和计算。 ?计算复合的报警条件。 ?监视多个I/O 点以获得大设备的状态。 ?为同步和控制批处理程序创建状态环。 ?通过“下一个块”一栏处理其它块。 CA 计算(计算块) ?通过把一个计算块与另一个计算块或扇出块链接,执行复杂的或多等式计算。?通过对尺寸进行计算,确认已制造零件的有效性。您可以使用此特性对有缺陷的零件计数。 ?当大量传感器(模拟输入块)监视同一参数时,找到平均读数。例如,模拟输入块可以在需要保持相同温度的管道的多个点上测量流的温度。 DA 数字量报警(数字报警块) ?检测数字状态的条件(液位或转变)。 ?代表诸如限值开关、阀门、报警触点或电机辅助触点的项。 ?通过打开(标签)和关闭(标签)字段把描述性标签指派给数字值,使它们对操作员更有意义。 ?为块定义报警值和优先级。 ?当报警条件发生时关闭数字块。 ?只要该块仍处于有效的报警状态或“重新报警时间”未禁用,即可在“重新报警时间”字段中定义的时间内重新发出报警。 ?根据过程条件暂停此块内或多个块内的报警处理。 ?从远程站点确认报警。 ?当链接到PID 或开关控制块时,帮助诸如直接数字控制等控制情况。 ?通过“下一个块”一栏把值传递给其它块。

sql内连接与外连接(1)

1.概述 1、内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符)。包括相等联接和自然联接。 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 stud ents和courses表中学生标识号相同的所有行。 2、外联接。外联接可以是左向外联接、右向外联接或完整外部联接。 在 FROM子句中指定外联接时,可以由下列几组关键字中的一组指定: 1)LEFT JOIN或LEFT OUTER JOIN 左向外联接的结果集包括 LEFT OUTER子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。 2)RIGHT JOIN 或 RIGHT OUTER JOIN 右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。 3)FULL JOIN 或 FULL OUTER JOIN

完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。 例子: ------------------------------------------------- a表 id name b表 id job parent_id 1 张3 1 23 1 2 李四 2 34 2 3 王武 3 3 4 4 同parent_id 存在关系 -------------------------------------------------- 1)内连接 select a.*,b.* from a inner join b on = 结果是 1 张3 1 23 1 2 李四 2 34 2

iFIX组态软件简介

iFIX组态软件简介 培训内容: →iFix的概述及结构 →系统配置 →I/O驱动器 →工作台及画面介绍 →过程数据库及数据库编辑器 →画面对象及动画 →历史数据及趋势图 →报警及安全 一. iFix的概述及结构 1.iFix软件介绍 ●iFix 是一套工业自动化软件,为用户提供一个过程化窗口 ●为操作人员和应用程序提供实时数据 2.iFix 的基本功能 ●数据采集 ---与工厂I/O设备直接通讯 ---通过I/O驱动程序,与I/O设备接口 ●数据管理 --- 处理、使用所取数据 --- 数据管理 包括过程监视(图形显示),监视控制,报警,报表,数据存档3.iFix的概述及结构(续) 1)节点类型 概念:一台运行iFix软件的计算机称为一个节点 类型: ▲按功能划分: SCADA服务器 iClient客户端(VIEW或HMI节点) HMI Pak ▲按区域划分: ●独立节点 ---与网络中其他节点不进行通讯的节点 ●本地节点 ---描述了本地正在工作的节点 ●远程节点 ---在一个分布式系统中,不同于本地节点的节点 2)网络节点图 ●iFix用于连接工厂中的过程硬件

3)I/O驱动器 ▲过程数据 ●iFix用于连接工厂中的过程硬件 ●传感器和控制器数据送入过程硬件中的寄存器(过程硬件一般包括 PLC、DCS、I/O设备) ●iFix软件从过程硬件中获取数据 ▲I/O驱动器 ●iFix与PLC之间的接口称为I/O驱动器 ●每一个I/O驱动器支持指定的硬件 ●I/O驱动器的功能 --从I/O设备中读(写)数据 --将数据传/输至驱动镜像表(DIT)中的地址中 ▲iFix数据流 ●I/O驱动器读取过程硬件 --- I/O驱动器从过程硬件的寄存器中读取数据 ---该数据传入DIT ---驱动器读取数据的速率称为轮询时间(poll) ●SAC扫描DIT ---SAC从DIT中读数 ---该数据传入过程数据库PDB ---SAC读数的速率称为扫描时间 ●(工作台)Workspace向PDB发出请求 ---图形显示中的对象显示PDB的数据 ---其他应用可以向PDB请求数据 ▲过程数据库 1)扫描、报警和控制(SAC) ●SAC主要功能 -- 从DIT中读取数据 -- 将数据传至数据库PDB

Oracle+表连接方式(内连接-外连接-自连接)+详解

Oracle 表之间的连接分为三种: 1. 内连接(自然连接) 2. 外连接 (1)左外连接(左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右两表都不加限制) 3. 自连接(同一张表内的连接) SQL的标准语法: select table1.column,table2.column from table1 [inner | left | right | full ] join table2 on table1.column1 = table2.column2; inner join 表示内连接; left join表示左外连接; right join表示右外连接; full join表示完全外连接; on子句用于指定连接条件。 注意: 如果使用from子句指定内、外连接,则必须要使用on子句指定连接条件; 如果使用(+)操作符指定外连接,则必须使用where子句指定连接条件。 一.内连接(Inner Join/Join) 1.1 Inner Join Inner join逻辑运算符返回满足第一个(顶端)输入与第二个(底端)输入联接的每一行。这个和用select查询多表是一样的效果,所以内连接用的很少。 还有一点要说明的就是Join 默认就是inner join。所以我们在写内连接的时候可以省略inner 这个关键字。1.2 下面举例来说明内连接: 1.2.1 先创建2张测试表并插入数据: SQL> select * from dave; ID NAME ---------- ---------- 1 dave 2 bl 1 bl 2 dave SQL> select * from bl; ID NAME ---------- ---------- 1 dave 2 bl 1.2.3 用内链接进行查询: SQL> Select a.id,https://www.wendangku.net/doc/f62057856.html,,https://www.wendangku.net/doc/f62057856.html, from dave a inner join bl b on a.id=b.id; -- 标准写法 ID NAME NAME ---------- ---------- ---------- 1 dave dave 2 bl bl 1 bl dave 2 dave bl

ifix基于ACESS的操作记录

操作记录 按照图中示例进行配置,报警区域是在建立标签时设定好的。 配置前,在硬盘中建立数据库文件,及ODBC连接。图中:1—数据库类型,2—数据源名(ODBC),3—准备在数据库中创建的表名,4—表中所含数据名称。设置完成后点击“现在创建表”按钮即可。

显示 DTPicker1是VB日历控件,需要安装VB后才可使用,例程:Private Sub DTPicker1_Change() vxData1.QP1 = DTPicker1.Value End Sub vxData1控件和vxGrid1控件是iFIX的VX控件,要配合使用。vxData1控件配置过程:

声称SQL语句时使用向导,简单易懂。 使用时,注意属性中的含义。vxGrid1控件是副表,只要调用即可。

最终效果: 注意:操作记录是数据库记录的应用,需要定期清理数据库,所以在调度中还需编写删除相应数据记录的代码。 Private Sub FixTimer9_OnTimeOut(ByVal lTimerId As Long) On Error Resume Next Dim cn As ADODB.Connection Dim res As ADODB.Recordset Dim StrSQL As String Set cn = New ADODB.Connection Set res = New ADODB.Recordset cn.ConnectionString = "DSN=TL;UID=;PWD=;" cn.Open StrSQL = "delete from SOEDB where 日期<#" & Date & "#" res.Open StrSQL, cn, adOpenKeyset, adLockOptimistic res.Update res.Close Set res = Nothing Set cn = Nothing End Sub

四种监控组态软件的性能比较

四种监控组态软件的性能比较 本文对4种主要监控软件从图形及组态方案、数据点管理、网络功能、通信功能、管理、加锁设计等6个方面作出比较。 以下内容中的技术参数来源于几家软件的内部参数,其中的看法只代表个人的经历和个人的观点,仅供参考。运行在工业现场、楼宇自动化的监控软件有很多种,各种监控软件都有着传统的功能,都是提供工业现场控制、楼宇控制的自动化解决方案,实现现场生产的远程可视化过程,现场数据获取和监控功能的工具;同时这些软件在监控中为了权衡矛盾,在软件设计中有所侧重,再加上各软件的设计方案不大一致,运用技术不同,因而在它们的功能反映上就有着自己的鲜明的特点。目前的监控软件有很多种,我就自己的工程运用把以下四种软件即:Intellution公司的iFIX(2.2)、GE公司的Cimplicity(4.01)、Wonderware公司的InTouch(7.1)以及Siemens公司的WinCC(4.02)作以比较,这其中Intellution公司和Wonderware公司是专门从事监控软件工作的,在市场占领绝大一部分份额;Cimplicity 和WinCC 是GE和Siemens公司自动化产品的配套产品,正努力推向市场。下面就把这四种主要软件从图形及组态方案、数据点管理、网络功能、通信功能、管理方面、加锁设计等六个方面作比较。 一、图形及组态方案 4种软件都是基于Object画面,都能实现对现场点的监视: iFIX:图形功能很强,支持多种图形格式,其追加的图形库,内容丰富,解决了原来图形过大的问题。可同时使用256种颜色,其中有64种颜色可用彩虹色调色,组成各种调色方案,嵌入图形中不会因放大缩小而失真。组态中提供树形结构图,能够浏览所画画面中的所有图形对象,组态信息,提供了全局性的变量组态方案,供画面组态调用,从而实现一改全改的功能,而且全局性的变量并不占用Tag点,对于画面中Group组内的对象组态并不改变,使状态变化丰富多彩,点数的扩展功能很强,有全面解决扩展点的报警、报警记录、历史记录的方法,有查找替换功能,可以替换整个图画以及画面中的对象的属性、组态点信息,对于同类型物体,避免重复组态。内嵌VBA,具有自己的内部函数,又有广泛的VB函数,功能扩展更为有利。支持双向OPC,支持所有类型的ActiveX、OLE,对不健全的控件所引发的错误进行保护,对控件的属性操作完全控制。编辑与运行是切换进行的,这有利于对现场生产安全的保障;有独立的报警监视程序,支持在线修改,具有画面分层功能,运行时可以根据程序很方便地更换对象的连接数据源,可以使控制更灵活。Cimplicity:图形功能最为强大,图库图形丰富多彩,它支持从画面到画面包含对象的颜色渐变,这是目前其他监控软件都不具备的功能,只是对插入的对象一定要进行格式转化,不然会有死机现象。一个画面一个进程,运行脚本是多线程的,所以图画虽然大,但运行速度很快。具有基于对象链接的拷贝功能,可以像iFIX一样避免对同一对象在多个画面中出现时修改的多次进行,但存在着运行时母板必须处于激活状态的缺憾。编辑与运行分开,有独立的报警、历史趋势运行管理程序,内嵌VBA,具有自己的内部函数,又有广泛的VB函数,组VBA与通用运用方式不一样,支持ActiveX、OLE插入,但对控件其中的一些属性进行了锁定。点的扩展功能与iFIX 一样强大,用之不竭的虚拟变量并不占用点数,但对于扩展点的报警设定比较难解决,输出问题,历史记录是没问题的。对数据节点的修改不是在线的,必须先停止工程,再启动工程。支持多条件组态,为组态方案提供了很好的解决方法。 InTouch:图形界面的美观性较差,粘贴位图操作较为繁琐,且引入的图形放大后的变形很大,自配的按钮文字不能变色,实现起来比较费事。支持ActiveX控件,但不具有第三方控件的出错保护,不健全的控件会造成系统出错。采用有限的内部函数,其功能也只是常用监控的功能,复杂一点的功能如报表就只能借助于其他工具。无论是否I/O点,包括全局变量,都占用Tag点数,点数的扩展只局限于模拟量读入,按位分解,比起iFIX、Cimplicity显得小气得多,常常会让设计者因为点数的不足而窘迫。支持组态对象的查找、替换功能。对象组合上存在着组合后原单个物体的组态都将消失、使得在状态变化设计上得另谋出路。 WinCC:图形功能如InTouch一样,调色板中可以同时使用的颜色有16种,提供的图库有限、不支持AutoCAD的图形格式,点数的扩展也同InTouch一样,只有模拟量读入,按位分解,WinCC提供公开的位操作手段,可以对模拟量中的位进行读取并进行报警设定,但没有直接的方法进行历史趋势记录,也没有直接的方法对位进行修改。有双向OPC支持,支持ActiveX。使用内部语言,环境如同C 语言。同样使得其功能扩展变得容易。 二、数据点管理 它们都提供了统一环境进行数据点的定义,InTouch与Cimplicity提供了为数不多的几种数据类型,但Cimplicity提供了对监控点的采样处理技术,没有别的功能块;WinCC数据类型相对多一些,而iFIX提供的数据类型最多,有很多现成的功能块;历史记录块、趋势块、计算块、PID块、计时块,这对于设备运行时间计算,数据转化等工作可以不必在画面中去做,同时iFIX还提供十多种信号发生器,在调试中帮助很大,实现非常方便。4种软件中iFIX的数据点管理是独立于画面运行的,直接反映现场信息,数据点一经设定就可以立即反映现场状态(如果通信是成功的),这是其他3种软件所不具备的特点。Cimplicity另外提供了一个查看点的信息平台,在运行时可以用来监视点状态,编辑时可以用来查看点组态信息,实现组态的替换。iFIX、Cimplicity都提供了数据管理库的输入、输出功能,可以把TAG信息输出到Excel这样一个网格文档操作最方便的工具中,可以在Excel中方便地完成繁琐的TAG点定义设置工作,再从Excel回

SQL内联接与外联接区别

SQL内联接与外联接区别 一、内连接 内连接查询是最典型、最常用的连接查询,它根据表中共同的列来进行匹配。特别是两个表存在主外键关系时通常会使用内连接查询。 内连接就是一般的相等连接。 如:select * from a, b where a.id = b.id 二、外连接 对于外连接,可以分为左外连,右外连,全外连。 1. LEFT OUTER JOIN:左外关联 SELECT https://www.wendangku.net/doc/f62057856.html,st_name, e.department_id, d.department_name FROM employees e LEFT OUTER JOIN departments d ON (e.department_id = d.department_id); 结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录。 2. RIGHT OUTER JOIN:右外关联 SELECT https://www.wendangku.net/doc/f62057856.html,st_name, e.department_id, d.department_name FROM employees e RIGHT OUTER JOIN departments d ON (e.department_id = d.department_id); 结果为:所有员工及对应部门的记录,包括没有任何员工的部门记录。 3. FULL OUTER JOIN:全外关联 SELECT https://www.wendangku.net/doc/f62057856.html,st_name, e.department_id, d.department_name FROM employees e FULL OUTER JOIN departments d ON (e.department_id = d.department_id); 结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录和没有任何员工的部门记录。

IFIX教程

F I X154基础培训

154培训介绍 ●为学员提供对iFix有较好的了解 ●以新用户的角度来设计课程 ●课程包括配置和应用iFix软件、建立应用程序的实验,通过使用软件中的大量组件开发应用程序 预备知识 ●熟悉个人计算机,特别是Windows NT和Windows 2000 ●过程控制应用的常识 ●熟悉intellution软件是有帮助的,但不是必要的 培训内容及课程安排 ●第1天 iFix概述和结构,系统配置,I/O驱动器,工作台及画面介绍 培训内容及课程安排 ●第3天 全局,调度,数据库编辑器,程序块,VBA介绍,趋势图

第一章概述●iFix产品概貌 ●Intellution Dynamics ●进行练习以巩固所学知识 ●iFix是一套工业自动化软件 ●“过程化窗口” ●为操作员和应用程序提供实时数据 节点:运行i F i x的计算机●SCADA节点 Supervisory Control And Data Acquisition ●iClient节点 VIEW / HMI

●HMI PAK = SCADA + iClient 网络节点类型 ●独立节点 ●本地节点 ●远程节点 其它节点类型

第二章i F i x结构 ●基本结构 ●I/O驱动器 ●过程数据库 ●图形显示 ●分布式结构 ●进行练习以巩固所学知识 I/O驱动器 ●iFix从过程硬件获取数据 PLC,DCS,简单I/O设备…… ●I/O驱动器是iFix与过程硬件之间的接口 ●I/O驱动器支持特定的硬件设备 ●I/O驱动器以poll记录格式收集数据,并传输至DIT D I T(D r i v e r I m a g e T a b l e) ●SCADA服务器内存中 ●存储I/O驱动器的轮询记录数据 ●轮询时间poll time I/O驱动器基本结构 S A C

内连接与外连接的区别

在之前,我对MYSQL中的内连接和外连接所得出的数据集不是很清楚。这几天重新温习了一下SQL的书本,现在的思路应该是很清楚了,现在把自己的理解发出来给大家温习下。希望和我一样对SQL的连接语句不太理解的朋友能够有所帮助。(发这么菜的教程,各位大大们别笑话偶了,呵:D ) 有两个表A和表B。 表A结构如下: Aid:int;标识种子,主键,自增ID Aname:varchar 数据情况,即用select * from A出来的记录情况如下图1所示: 图1:A表数据 表B结构如下: Bid:int;标识种子,主键,自增ID Bnameid:int 数据情况,即用select * from B出来的记录情况如下图2所示: 图2:B表数据 为了把Bid和Aid加以区分,不让大家有误解,所以把Bid的起始种子设置为100。 有SQL基本知识的人都知道,两个表要做连接,就必须有个连接字段,从上表中的数据可以看出,在A表中的Aid和B表中的Bnameid就是两个连接字段。

下图3说明了连接的所有记录集之间的关系: 图3:连接关系图 现在我们对内连接和外连接一一讲解。 1.内连接:利用内连接可获取两表的公共部分的记录,即图3的记录集C 语句如下:Select * from A JOIN B ON A.Aid=B.Bnameid 运行结果如下图4所示: 图4:内连接数据 其实select * from A,B where A.Aid=B.Bnameid与Select * from A JOIN B ON A.Aid=B.Bnameid 的运行结果是一样的。 2.外连接:外连接分为两种,一种是左连接(Left JOIN)和右连接(Right JOIN) (1)左连接(Left JOIN):即图3公共部分记录集C+表A记录集A1。 语句如下:select * from A Left JOIN B ON A.Aid=B.Bnameid 运行结果如下图5所示:

五种组态软件的比较

五种组态软件Cimplicity、InTouch、WinCC、EC2000之比较 针对在国际市场占有大部分市场份额的几种监控软件,本文对4种国外监控软件和EC2000系统从图形及组态方案、数据点管理、网络功能、通信功能、管理、加锁设计等6个方面作出比较。 以下内容中的技术参数来源于几家软件的内部参数,仅供参考。运行在工业现场的监控软件有很多种,各种监控软件都有着传统的功能,都是提供工业现场控制、自动化解决方案,实现现场生产的远程可视化过程,现场数据获取和监控功能的工具;同时这些软件在监控中为了权衡矛盾,在软件设计中有所侧重,再加上各软件的设计方案不大一致,运用技术不同,因而在它们的功能反映上就有着自己的鲜明的特点。目前的监控软件有很多种,国外比较著名的四种软件即:GE-Intellution公司的iFIX、GE公司的 Cimplicity、Wonderware公司的InTouch以及Siemens公司的WinCC和EC2000作以比较,这其中GE-Intellution公司和Wonderware公司是专门从事监控软件工作的,在市场占领绝大一部分份额;Cimplicity和WinCC 是GE和Siemens公司自动化产品的配套产品,正努力推向市场。EC2000是南瑞自控公司的水电自动化监控软件,目前已应用于多个水电站和泵站、闸门。下面就把这五种软件从图形及组态方案、数据点管理、网络功能、通信功能、管理方面、加锁设计等六个方面作比较。 图形及组态方案 5种软件都是基于Object画面,都能实现对现场点的监视: iFIX的图形功能很强,支持多种图形格式,其追加的图形库,内容丰富,可同时使用256种颜色,其中有64种颜色可用彩虹色调色,组成各种调色方案,嵌入图形中不会因放大缩小而失真。组态中提供树形结构图,能够浏览所画画面中的所有图形对象,组态信息,提供了全局性的变量组态方案,供画面组态调用,从而实现一改全改的功能,而且全局性的变量并不占用Tag点,对于画面中Group组内的对象组态并不改变,使状态变化丰富多彩,有查找替换功能,可以替换整个图画以及画面中的对象的属性、组态点信息,对于同类型物体,避免重复组态。内嵌VBA,具有自己的内部函数,又有广泛的VB函数,功能扩展更为有利。支持双向OPC,支持所有类型的ActiveX、OLE,对不健全的控件所引发的错误进行保护,对控件的属性操作完全控制。编辑与运行是切换进行的,这有利于对现场生产安全的保障;有独立的报警监视程序,支持在线修改,具有画面分层功能,运行时可以根据程序很方便地更换对象的连接数据源,可以使控制更灵活。 Cimplicity:图形功能在四种国外软件中最为强大,图库图形丰富多彩,它支持从画面到画面包含对象的颜色渐变,这是目前其他监控软件都不具备的功能,只是对插入的对象一定要进行格式转化,不然会有死机现象。一个画面一个进程,运行脚本是多线程的,所以图画虽然大,但运行速度很快。具有基于对象链接的拷贝功能,可以像iFIX一样避免对同一对象在多个画面中出现时修改的多次进行,但存在着运行时母板必须处于激活状态的缺憾。编辑与运行分开,有独立的报警、历史趋势运行管理程序,内嵌VBA,具有自己的内部函数,又有广泛的VB函数,组VBA与通用运用方式不一样,支持ActiveX、OLE插入,但对控件其中的一些属性进行了锁定。点的扩展功能与iFIX一样强大,用之不竭的虚拟变量并不占用点数,但对于扩展点的报警设定比较难解决,输出问题,历史记录是没问题的。对数据节点的修改不是在线的,必须先停止工程,再启动工程。支持多条件组态,为组态方案提供了很好的解

SQL、Oracle多表连接查询(内,外,交叉连接)

多表连接查询(内,外,交叉连接)连接查询实际上是通过各个表之间共同列的关联性来查询数据的,它是关系数据库查询最主要的特征. select 表1.字段名1,表2.字段名2,... from 表1,表2 where 连接条件 SQL-92标准所定义的FROM子句的连接语法格式为: FROM 表名join_type表名 [ON (连接条件)] 连接操作中的ON (连接条件) 子句指出连接条件,它由被连接表中的列和比较运算符、逻辑运算符等构成。 连接查询分类: 1.自连接查询,对同一个表进行连接操作(可以理解为两个不同表的内连接,有时可与嵌套查询等价) 2.内连接查询,<又分为:自然连接、等值连接、不等值连接三种> 3.外连接查询,<又分为:左外连接、右外连接、全外连接三种> 4.交叉连接查询,也作无条件查询。 5.联合查询 一.自连接查询: 一个表自己与自己建立连接称为自连接或自身连接。 进行自连接就如同两个分开的表一样,可以把一个表的某一行与同一表中的另一行连接起来。例: 查询选学“101”课程的成绩高于“9505201”号学生成绩的所有学生记录, 并按成绩从高到低排列。 select x.* from sclassx,sclass y where https://www.wendangku.net/doc/f62057856.html,o=''101'' and x.degree>y.degree and y.sno=''9505201'' and https://www.wendangku.net/doc/f62057856.html,o=''101'' order by x.degreedesc 二. 内连接查询 内连接(INNER JOIN)使用比较运算符进行表间某(些)列数据的比较操作,并列出这些表中与连接条件相匹配的数据行。根据所使用的比较方式不同,内连接又分为等值连接、自然连接和不等连接三种。 1、等值连接: 所谓等值连接,是指表之间通过“等于”关系连接起来,产生一个临时表, 然后对该临时表进行处理后生成最终结果。其查询结果中列出被连接表中的所有列,包括其中的重复列。 SELECT * FROM authors AS a INNER JOIN publishers AS p ON a.city=p.city

ifix介绍

iFIX介绍 iFIX是一个专业的fix组态软件,是GE 智能平台(GE-IP)提供自动化硬件和软件解决方案,iFIX 5.5中文版是至今中文用户使用人数最多的用户之一。有需要的朋友们可以下载试试吧! iFIX 5.5中文版提供了生产操作的过程可视化、数据采集和数据监控。iFIX可以帮助您精确地监视、控制生产过程,并优化生产设备和企业资源管理。它能够对生产事件快速反应,减少原材料消耗,提高生产率,从而加快产品对市场的反应速度,提高用户收益。 主要功能 监控企业生产过程设备及资源 采集并分享实时数据和历史数据给企业各层用户 及时响应生产要求和市场需求 最大化企业效率,提高生产力,降低生产成本和浪费 利润来自于一个提供100%数据集成而又十分安全的自动化系统 “Designed for 21 CFR Part 11TM”能够记录操作员的操作记录,建立符合FDA(美国食品及药物管理局)21 CFR Part 11法规的重要电子签名记录体系。 IBM Pentium II 266MHz 个人或商用计算机,基于Windows NT/2000/XP (需Pentium 4,1GHz) 内存:96 MB 120 MB硬盘空间 CD - ROM驱动器 24位图形显示卡,SVGA或更高显示器 并行端口或USB端口 网络适配器: NetBIOS或TCP/IP兼容网络适配器,单机版应用不需网络适配器 iFIX技术优势 强大的分布式客户/服务器结构 iFIX服务器负责采集、处理和分发实时数据 可选的客户机类型包括:iClientTM,iClientTSTM(用于Terminal Server )和iWebServerTM。实时客户/服务器结构具有无与伦比的可扩展性 快速的系统开发及配置 在一个易于使用的 Intellution 工作台集合开发环境中直观地建立您的系统 使用强大的“智能图符生成向导”更快速地开发和配置应用系统 利用iFIX 特有的“即插即解决”能力集成第三方附加应用软件 在线开发您的应用程序,无需停止生产线或重新开机 键宏编辑器为触摸键提供了强大而多样的功能 动画专家使您无须掌握 VBA 编程即可使用内部的和第三方的ActiveX控件 点组编辑器节省了大量的开发时间 事件调度器令任务在前台或后台自动运行 应用集成

SQL 左外连接,右外连接,全连接,内连接 四种连接的差异

外联接。外联接可以是左向外联接、右向外联接或完整外部联接。 在FROM 子句中指定外联接时,可以由下列几组关键字中的一组指定: LEFT JOIN 或LEFT OUTER JOIN。 左向外联接的结果集包括LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。 RIGHT JOIN 或RIGHT OUTER JOIN。 右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。 FULL JOIN 或FULL OUTER JOIN。 完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。 仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。内联接消除与另一个表中的任何行不匹配的行。而外联接会返回FROM 子句中提到的至少一个表或视图的所有行,只要这些行符合任何WHERE 或HAVING 搜索条件。将检索通过左向外联接引用的左表的所有行,以及通过右向外联接引用的右表的所有行。完整外部联接中两个表的所有行都将返回。 Microsoft? SQL Server?2000 对在FROM 子句中指定的外联接使用以下SQL-92 关键字: LEFT OUTER JOIN 或LEFT JOIN RIGHT OUTER JOIN 或RIGHT JOIN FULL OUTER JOIN 或FULL JOIN SQL Server 支持SQL-92 外联接语法,以及在WHERE 子句中使用*= 和=* 运算符指定外联接的旧式语法。由于SQL-92 语法不容易产生歧义,而旧式Transact-SQL 外联接有时会产生歧义,因此建议使用SQL-92 语法。 使用左向外联接 假设在city 列上联接authors 表和publishers 表。结果只显示在出版商所在城市居住的作者(本例中为Abraham Bennet 和Cheryl Carson)。 若要在结果中包括所有的作者,而不管出版商是否住在同一个城市,请使用SQL-92 左向外联接。下面是Transact-SQL 左向外联接的查询和结果:

SQL 左外连接,右外连接,全连接,内连接的区别和用法

SQL 左外连接,右外连接,全连接,内连接连接条件可在FROM或WHERE子句中指定,建议在FROM子句中指定连接条件。WHERE和HAVING子句也可以包含搜索条件,以进一步筛选连接条件所选的行。 连接可分为以下几类: 内连接。(典型的连接运算,使用像= 或<> 之类的比较运算符)。包括相等连接和自然连接。 内连接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检 索students 和courses 表中学生标识号相同的所有行。 外连接。外连接可以是左向外连接、右向外连接或完整外部连接。 在FROM子句中指定外连接时,可以由下列几组关键字中的一组指定: LEFT JOIN 或LEFT OUTER JOIN。 左向外连接的结果集包括LEFT OUTER子句中指定的左表的所有行,而不仅仅是连接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。 RIGHT JOIN 或 RIGHT OUTER JOIN。 右向外连接是左向外连接的反向连接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。 FULL JOIN 或FULL OUTER JOIN。 完整外部连接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。 交叉连接。交叉连接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉连接也称作笛卡尔积。 例如,下面的内连接检索与某个出版商居住在相同州和城市的作者: USE pubs SELECT a.au_fname, a.au_lname, p.pub_name FROM authors AS a INNER JOIN publishers AS p ON a.city = p.city AND a.state = p.state ORDER BY a.au_lname ASC, a.au_fname ASC FROM 子句中的表或视图可通过内连接或完整外部连接按任意顺序指定;但是,用左或右向外连接指定表或视图时,表或视图的顺序很重要。有关使用左或右向外连接排列表的更多信息,请参见使用外连接。 例子:

IFIX历史报警数据存储与查询

关于IFIX历史报警数据存储与查询实例一.ODBC服务的连接 开始-设置-控制面板-管理工具-数据源ODBC 选用户DNS-添加-选Microsoft Access Driver(*.mdb) 数据源名:Myalarm 选(或创建)数据库名:Alarm.mdb, 文件类型:Access,驱动器D: 连接池-禁止 二.系统SCU的配置 SCU-IFIX-配置-报警-报警ODBC服务,启动-修改- 区域(A):从报警区域数据库中选择- CLQS-ALM-增加-确定配置:数据库类型:Access 数据库标识符:Myalarm 列配置:选9项 现在创建表:FIXALARMS(默认表名) 其它默认-确定 保存退出 三.控件的引用 1.日期时间控件 典型装VB6.0后, 项目工具栏文件----工具栏----插入OLE对象 双击选Microsoft date and time picker控件 日期控件-属性-格式:1-dtpShortDate,有效前不打勾。其它默认, 时间控件-属性-格式:2-dtpTime, 有效前不打勾。其它默认2.vxData控件(数据管道) IFIX4.0工具箱底部vxData图标

右键-属性vxData对象----PROPERTIES VISICONXDATA VXDATA对象 提供者:Microsoft OLE DB Provider for ODBC Drivers 数据库:DNS名:Myalarm,用户名密码选项均空---测试连接-测试连接成功-确定 记录源:命令类型:SQL命令 应用-确定 3.vxGrid控件(显示) 工具箱底部vxGrid图标 选控件 vxGrid1-右键-动画-高级-高级动画配置-行为-ADORecords-动画打勾数据源:报警记录一览表.vxData1.ADORecords 数据转换:对象 四.VBA脚本的编写 1.初始化脚本代码 '初始化设置 Private Sub CFixPicture_Initialize() '设定默认开始时间 Me.DTPFromDate = DateAdd("d", -1, Now)

SQL查询语法大全完整版-高手详解

连接查询 通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。 在关系数据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在 一个表中。当检索数据时,通过连接操作查询出存放在多个表中的不同实体的信息。连接操作给用户带 来很大的灵活性,他们可以在任何时候增加新的数据类型。为不同实体创建新的表,尔后通过连接进行查询。 连接可以在SELECT 语句的FROM子句或WHERE子句中建立,似是而非在FROM子句中指出连接时有助于 将连接操作与WHERE子句中的搜索条件区分开来。所以,在Transact-SQL中推荐使用这种方法。 SQL-92标准所定义的FROM子句的连接语法格式为: FROM join_table join_type join_table [ON (join_condition)] 其中join_table指出参与连接操作的表名,连接可以对同一个表操作,也可以对多表操作,对同一 个表操作的连接又称做自连接。 join_type 指出连接类型,可分为三种:内连接、外连接和交叉连接。内连接(INNER JOIN)使用比 较运算符进行表间某(些)列数据的比较操作,并列出这些表中与连接条件相匹配的数据行。根据所使用 的比较方式不同,内连接又分为等值连接、自然连接和不等连接三种。 外连接分为左外连接(LEFT OUTER JOIN或LEFT JOIN)、右外连接(RIGHT OUTER JOIN或RIGHT JOIN) 和全外连接(FULL OUTER JOIN或FULL JOIN)三种。与内连接不同的是,外连接不只列出与连接条件相匹 配的行,而是列出左表(左外连接时)、右表(右外连接时)或两个表(全外连接时)中所有符合搜索条件的数据行。 交叉连接(CROSS JOIN)没有WHERE 子句,它返回连接表中所有数据行的笛卡尔积,其结果集合中的 数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。 连接操作中的ON (join_condition) 子句指出连接条件,它由被连接表中的列和比较运算符、逻辑 运算符等构成。 无论哪种连接都不能对text、ntext和image数据类型列进行直接连接,但可以对这三种列进行间接 连接。例如: SELECT p1.pub_id,p2.pub_id,p1.pr_info FROM pub_info AS p1 INNER JOIN pub_info AS p2 ON DA TALENGTH(p1.pr_info)=DA TALENGTH(p2.pr_info) (一)内连接 内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。内连接分三种: 1、等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接 表中的所有列,包括其中的重复列。 2、不等连接:在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些 运算符包括>、>=、<=、<、!>、!<和<>。 3、自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询 结果集合中所包括的列,并删除连接表中的重复列。 例,下面使用等值连接列出authors和publishers表中位于同一城市的作者和出版社: SELECT * FROM authors AS a INNER JOIN publishers AS p ON a.city=p.city

相关文档
相关文档 最新文档