SQL 语法:
UPDATE <表名> SET <列名 = 新值, ...>
注意:
该 SQL 命令也可能使用扩展的“WHERE < >”表达式。
3.4 删除数据记录: 脚本"Delete_data_record"
为了连接 SQL 数据库需要两个 ADODB 对象。
为了从一个数据库中删除数据记录,该 SQL 数据库必须被打开。通过比较记录数和相应的列,使用“DELETEFROM”结合 SQL 表的详细内容以及“WHERE”扩展参数来删除特定的数据记录。使用连接中的语句“conn.Execute(SQL表)”执行删除特定数据记录的操作。
图. 13
SQL 语法:
DELETE FROM <表名> WHERE <条件>
注意:
选择的数据记录在删除时没有确认信息。
4. 数据记录表
SQL 也可以用于显示一个 SQL 表中全部或多个数据记录的内容。为了连接数据库需要使用到“ADODB.Connection”和“ADODB.Recordset”两个对象。
4.1 从表中读取所有数据:脚本 "Show_all_entries_of_a_table"
SQL数据库中的数据记录并不一定是按照顺序存储的。因此,为了按照顺序显示必须对数据进行排序。如果希望按照列来排序,那么必须知道列名。由于本样例中列名作为变量,所以列名也必须明确的读出来。
为了完整的读出 SQL 表,当“Execute”方法执行“SELECT* FROM”加 SQL 表名语句时就会返回整个表的内容。
表的内容被分配到对象“rst”。可以通过该对象指定被排序后表的列名。使用带有“ORDERBY”加列名的 SQL 命令可以实现将表按照列升序排列。
图. 14
SQL 语法:
SELECT <表达式> FROM <表名> ORDER BY <列名>ASC
注意:
指令“ASC”指按照升序分类,指令“DESC”指按照降序分类。除非另有说明默认按照升序分类。SQL指令“SELECT”可与其它语法结合使用。
表中的记录是使用“Do...LoopUntil”循环和“MoveNext”指令输入的。指令“rst.MoveFirst”将指针指向到表的第一个条目。
在本例中的表Zui多可以同时输出6条记录,在 WinCC flexible中可以使用箭头按钮实现对表的选取。变量"Tab"的值会在零和条目数减去显示的数据记录数量之间变化。当选择的表发生变化,SQL表的指针也发生移动。这是通过指令“MoveNext”来实现的。
\
图. 15
下面的语法用于访问数据记录中的单个数据:
Value_1_0 = rst.Fields(0).Value
Value_1_1 = rst.Fields(1).Value
Value_1_2 = rst.Fields(2).Value
图. 16
4.2 将所有数据写入表:脚本 "Write_all_entries_in_a_table"
一旦数据源被打开,可以使用 SQL 命令“SELECT* FROM”加表名并结合参数“WHERE”实现对特定数据的读取,通过特定列的内容和数据记录的详细信息相比较来选择数据。
图. 17
SQL 语法:
SELECT <表达式> FROM <表名> WHERE <条件>
注意:
SQL命令“SELECT”可以和其它指令一起使用。
如果数据记录包含在表中,SQL 命令“UPDATE”用于使用新的参数覆盖数据记录。如果数据记录不包含在表中,使用SQL 命令“INSERTINTO”添加。
图. 18
如在3.1中查询“EOF = End of File”和“BOF = Begin of File”用于检测数据记录是否存在。