Advertisement

在WinCC中利用VBS进行SQL数据库的写入操作

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
本教程详解了如何在WinCC项目中使用VBS脚本实现与SQL数据库的数据交互,重点介绍向数据库写入数据的具体步骤和方法。适合需要将实时监控信息存储至数据库的用户学习参考。 本代码位于E:\WinccProjects\DBSQL工程目录下,功能是对该工程下的CC_DBSQL_11_04_19_19_19_51R数据库中的表GH_table的字段“Temp”进行写操作。具体来说,写入的内容是DBSQL工程中过程变量Temp的值。此代码作为按钮控件响应脚本,在用户按下鼠标时执行相应动作。写入的时间和次数由按钮的动作决定。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • WinCCVBSSQL
    优质
    本教程详解了如何在WinCC项目中使用VBS脚本实现与SQL数据库的数据交互,重点介绍向数据库写入数据的具体步骤和方法。适合需要将实时监控信息存储至数据库的用户学习参考。 本代码位于E:\WinccProjects\DBSQL工程目录下,功能是对该工程下的CC_DBSQL_11_04_19_19_19_51R数据库中的表GH_table的字段“Temp”进行写操作。具体来说,写入的内容是DBSQL工程中过程变量Temp的值。此代码作为按钮控件响应脚本,在用户按下鼠标时执行相应动作。写入的时间和次数由按钮的动作决定。
  • WinCCVBS脚本SQL Server文件
    优质
    本文介绍如何在WinCC项目中使用VBS脚本进行SQL Server数据库的操作,包括连接、查询和更新数据的方法。 在WinCC中可以使用VBS脚本来读写SQLServer数据库文件。
  • 使VBS脚本WinCC向SQLServer.docx
    优质
    本文档介绍了如何利用VBS脚本将数据从西门子WinCC系统高效地传输到SQL Server数据库,提供详细的步骤和示例代码。 本段落将探讨如何使用Visual Basic Script (VBS) 在西门子WinCC人机界面系统中编写脚本以向SQL Server数据库写入数据的过程。此过程主要包括建立数据库连接、编写SQL查询语句以及处理数据的插入或更新操作。 首先,需要在SQL Server上创建一个数据库和相应的表。在此示例中,我们有`date` 和 `AT300` 表,它们可能包含有关生产流程的不同信息,如釜序号(Brewery Sequence Number)、原料编号、目标值及不同时间点的MI值等。 在WinCC项目中添加一个按钮组件,并在其单击事件中编写VBS代码。以下是一个示例: ```vbscript Dim data1, data2, data3, data4, data5, data6, data7, data8 数据赋值 data1 = 5004 data2 = 1234 data3 = 5 data4 = 5.2 data5 = 5.8 data6 = 10 data7 = 10.33483 data8 = 42 创建数据库连接 Dim Con, conn Con = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DH;Data Source=.WINCC Set conn = CreateObject(ADODB.Connection) conn.ConnectionString = Con conn.CursorLocation = 3 conn.Open 查询语句 Dim sSql, sSql2, sSql3, sSql4, m, n sSql2 = SELECT * FROM date WHERE 釜序号= & data1 & sSql4 = SELECT * FROM AT300 WHERE 釜序号= & data1 & sSql = INSERT INTO date (釜序号, 原料编号, 目标, MI5, [MI5-30], MI30, [MI30-60], MI60, TIME) VALUES( & data1 &, & data2 &, & data3 &, & data4 &, & data7 &, & data5 &, & data8 &, & data6 &, & Now() &); sSql3 = UPDATE AT300 SET 结果值= & data4 WHERE 釜序号= & data1 执行查询并检查记录 Dim oRs2, oCom2 Set oRs2 = CreateObject(ADODB.Recordset) Set oCom2 = CreateObject(ADODB.Command) oCom2.ActiveConnection = conn oCom2.CommandType = 1 oCom2.CommandText = sSql2 Set oRs2 = oCom2.Execute m = oRs2.RecordCount oCom2.CommandText = sSql4 Set oRs2 = oCom2.Execute n = oRs2.RecordCount 写入数据或显示提示 If m = 0 Then Set oRs = CreateObject(ADODB.Recordset) Set oCom = CreateObject(ADODB.Command) oCom.ActiveConnection = conn oCom.CommandType = 1 oCom.CommandText = sSql Set oRs = oCom.Execute Else MsgBox & data1 & 数据已存在 End If If n > 0 Then oCom.CommandText = sSql3 Set oRs = oCom.Execute End If conn.Close ``` 这段代码首先声明了需要的数据变量,并给它们赋值。接着,通过`ADODB.Connection`对象建立与数据库的连接。随后使用 `ADODB.Command` 对象执行SQL查询和更新命令,例如`sSql2` 和 `sSql4` 用于检查 `date` 和 `AT300` 表中是否有与 `data1` 匹配的记录;而`sSql` 则用于向 `date` 表插入新的数据。 在执行查询后通过检查记录数量来确定是否需要执行插入或更新操作。如果查询没有返回记录,则表示 m=0,此时应执行插入操作;若 `AT300` 表中已存在与 `data1` 匹配的记录,则需进行更新操作。确保关闭数据库连接以释放资源。 此过程展示了如何在WinCC环境中利用VBS进行数据库交互,这对于实时监控和控制生产流程中的数据记录至关重要。通过这种方式可以保证 WinCC 界面与数据库之间的数据同步,从而实现生产和数据分析自动化。
  • VBSWinCC趋势曲线.docx
    优质
    本文档详细介绍了如何使用VBS脚本在西门子WinCC环境中实现对趋势曲线的操作,包括获取、修改和自动化处理等实用技巧。 本段落是对WinCC使用VBS脚本操作趋势曲线的补充内容,主要针对1月份发布的趋势曲线增加或删除的操作进行详细说明,并提供一个个人使用的例子作为参考。
  • VBS自动化
    优质
    本教程介绍如何使用VBS(Visual Basic Script)编写脚本来自动执行日常计算机任务,提高工作效率。适合初学者快速上手。 VBS脚本主要包括sendkeys功能以及网页的PLT测试等内容。
  • ADO.NET
    优质
    本教程详细介绍如何使用ADO.NET在C#或VB.NET中执行数据库操作,包括连接、查询及数据集管理等内容。 ### 使用ADO.NET实现对数据库的操作 #### 一、引言 随着信息技术的发展,数据库访问技术已成为现代应用程序开发不可或缺的一部分。无论是桌面应用还是Web应用,高效地处理数据是提高用户体验的关键。ADO.NET作为Microsoft的一项核心数据访问技术,在.NET框架中扮演着重要的角色。它不仅能够高效地访问各种类型的数据库,还能灵活地处理XML数据。本段落将详细介绍ADO.NET的基本结构,并通过一个具体的实例来演示如何使用ADO.NET对数据库进行检索和操作。 #### 二、ADO.NET的结构 ADO.NET是一种基于.NET框架的数据访问技术,其设计旨在提供高性能、可伸缩的数据访问能力。它由两个主要组件组成:.NET数据提供程序和`DataSet`对象。 **1. .NET数据提供程序** .NET数据提供程序是一组用于与特定类型的数据源交互的类。这些类通常包括用于连接数据库、执行命令、检索数据和读取结果集的方法。根据所使用的数据库类型,可以使用不同的数据提供程序: - **SQL Server 数据提供程序**:适用于SQL Server数据库,主要类有`SqlConnection`(用于建立连接)、`SqlCommand`(用于执行SQL命令)、`SqlDataAdapter`(用于填充数据集)和`SqlDataReader`(用于读取数据流)。 - **OLE DB 数据提供程序**:支持多种数据源,包括但不限于SQL Server、Oracle和文本段落件等。 - **ODBC 数据提供程序**:适用于通过ODBC驱动程序访问的任何数据源。 - **Oracle .NET 数据提供程序**:专门用于访问Oracle数据库。 **2. DataSet** `DataSet`是一个强大的内存数据存储器,它可以在客户端缓存数据,即使与数据库服务器断开连接也能继续操作数据。`DataSet`包含一个或多个`DataTable`对象,每个`DataTable`对象都表示数据表。此外,`DataSet`还提供了数据关系、约束等功能,使其成为处理离线数据的理想选择。 #### 三、连接环境和非连接环境下对数据库的访问 使用ADO.NET访问数据库可以通过两种方式实现:连接环境和非连接环境。 **1. 连接环境** 在连接环境中,应用程序与数据库保持持续的连接状态。这种方式适合于实时处理大量数据的情况。例如,使用`SqlCommand`对象执行SQL命令时,就属于连接环境。 **示例代码:** ```csharp 创建连接 SqlConnection conn = new SqlConnection(Data Source=YY07;Initial Catalog=人事信息;Integrated Security=True); conn.Open(); 执行命令 SqlCommand cmd = new SqlCommand(SELECT AVG(Age) FROM 职工基本信息, conn); double averageAge = (double)cmd.ExecuteScalar(); ``` **2. 非连接环境** 非连接环境允许应用程序仅在需要时与数据库建立连接。这种方式非常适合于移动应用或Web应用等需要减少网络流量的场景。在非连接环境中,通常使用`SqlDataAdapter`将数据加载到`DataSet`中,然后在客户端进行数据操作。 **示例代码:** ```csharp 创建连接 SqlConnection conn = new SqlConnection(Data Source=YY07;Initial Catalog=人事信息;Integrated Security=True); conn.Open(); 创建数据适配器和数据集 SqlDataAdapter adapter = new SqlDataAdapter(SELECT * FROM 职工基本信息, conn); DataSet dataSet = new DataSet(); 填充数据集 adapter.Fill(dataSet, 职工基本信息); 在非连接环境下操作数据集 例如,添加一条新记录 DataRow newRow = dataSet.Tables[职工基本信息].NewRow(); newRow[姓名] = 张三; newRow[年龄] = 28; dataSet.Tables[职工基本信息].Rows.Add(newRow); 更新数据到数据库 adapter.Update(dataSet, 职工基本信息); ``` #### 四、总结 通过上述介绍,我们可以看到ADO.NET提供了一种灵活且高效的方式来处理数据库中的数据。无论是需要实时查询还是离线操作,ADO.NET都能满足需求。掌握了ADO.NET的基本概念和使用方法后,开发者就能更轻松地构建出功能强大、性能优异的应用程序。
  • WinCCVBS脚本弹窗与画面切换
    优质
    本文介绍如何在WinCC项目中使用VBS脚本来实现弹出窗口和画面切换功能,帮助用户提升监控系统的交互性和自动化水平。 在WinCC中可以使用VBS脚本来实现弹窗功能以及画面切换操作。
  • ODBCC/C++SQL Server
    优质
    本文介绍了如何使用ODBC(开放式数据库连接)API在C和C++编程语言中实现对微软SQL Server数据库的操作方法。 这是一款用C语言通过ODBC操作SQL Server数据库的程序,实现了一个简单的通信录管理系统,支持对数据库进行增删查改操作。希望能帮助正在学习数据库技术的朋友!
  • 使LinqSql Server
    优质
    本教程介绍如何利用LINQ(Language Integrated Query)技术简化SQL Server数据库的操作,包括查询、插入、更新和删除等基本操作。适合希望提高C#编程效率的数据开发者学习。 **Linq操作Sql Server数据库详解** Linq(Language Integrated Query)是.NET Framework 3.5引入的一种强大的数据查询技术,它允许开发者使用C#或Visual Basic等编程语言的语法直接对各种数据源进行操作,包括SQL Server数据库。Linq极大地简化了数据访问,提高了代码的可读性和可维护性。 **1. Linq的基本概念** Linq的核心在于将SQL查询语句与C#或VB.NET语法融合,使得在代码中可以直接编写查询表达式。它提供了一种统一的方式来处理各种类型的数据源,如集合、数组、XML文档以及数据库。 **2. Linq to SQL** Linq to SQL是专门用于处理SQL Server数据库的Linq子集。通过建立对象模型来映射数据库表,开发者可以通过操作这些对象实现对数据库的操作。 **3. 使用Linq进行数据库操作** - **添加数据**:调用DataContext对象的SubmitChanges()方法可以将修改提交到数据库。 ```csharp var db = new MyDataContext(); MyTable myTable = new MyTable(); myTable.Name = New Record; db.MyTable.InsertOnSubmit(myTable); db.SubmitChanges(); ``` - **查询数据**:Linq提供了丰富的查询表达式,如Where、Select和OrderBy等。 ```csharp var result = (from t in db.MyTable where t.Name == SomeName select t).ToList(); ``` - **更新数据**:修改对象属性后再次调用SubmitChanges()即可更新数据库。 ```csharp myTable = result.First(); myTable.Name = Updated Name; db.SubmitChanges(); ``` - **删除数据**:使用DeleteOnSubmit()方法标记要删除的对象,然后提交更改。 ```csharp db.MyTable.DeleteOnSubmit(result.First()); db.SubmitChanges(); ``` **4. Linq查询表达式** Linq支持两种主要的语法风格: - **方法语法**:基于扩展方法,如`Where()`、`Select()`等。 ```csharp var query = db.MyTable.Where(t => t.Name.StartsWith(A)); ``` - **查询语法**:类似于SQL的SELECT语句,更加直观。 ```csharp var query = from t in db.MyTable where t.Name.StartsWith(A) select t; ``` 两者可以互相转换。查询语法通常更易于阅读和理解。 **5. 数据上下文(DataContext)** DataContext是Linq to SQL中的关键类,它作为与数据库交互的桥梁。它负责管理对象生命周期、跟踪对数据库所做的更改,并在需要时执行SQL命令。 **6. 映射关系** 通过DBML文件或代码First方式定义数据库表和对象之间的映射关系。 - **图形化设计工具(如DBML)**: 用于可视化地建立数据模型。 - **代码First方式**: 使用C#或VB.NET语言直接编写模型的定义。 **7.事务处理** Linq支持数据库事务。可以使用TransactionScope类进行控制,确保一系列操作具有原子性。 ```csharp using (var scope = new TransactionScope()) { 数据库操作 db.SubmitChanges(); scope.Complete(); } ``` **8.性能考虑** 虽然Linq简化了开发过程,但在处理大量数据时应关注查询效率。使用延迟执行和适当的数据加载策略有助于优化性能。 通过学习和掌握Linq,开发者可以更加便捷地进行SQL Server数据库操作,并享受到强类型及编译时检查带来的安全性和稳定性。