You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于.ini文件与Word书签,如何比对两个SQL查询结果实现签名验证?

签名验证功能实现方案

完全可以实现你需要的签名验证逻辑,以下是具体的实现思路和示例:

核心步骤

  1. 获取两个查询的结果
    通过数据库驱动(如ADODB)执行你提供的两条SQL查询,将结果分别存储为两个变量(比如query1_result和query2_result)。如果你的.ini文件用于配置查询语句或数据库连接参数,可以在脚本中读取.ini的配置来执行查询,保持原有流程的兼容性。

  2. 比对查询结果
    使用条件判断语句对比两个变量的值。

  3. 执行对应操作

    • 当结果相等时:调用你指定的目标函数;
    • 当结果不等时:定位到Word文档中预设的书签位置,插入错误提示文本。

示例VBA代码(适配Word操作场景)

因为你是基于Word书签导入数据,用VBA实现最为直接,以下是完整示例:

Sub ValidateSignature()
    ' 声明存储查询结果的变量
    Dim query1Result As String
    Dim query2Result As String
    
    ' --------------------------
    ' 实际场景中替换为数据库查询逻辑
    ' 示例:从数据库获取Query1和Query2的结果
    query1Result = GetQueryResult("select B.PERSON from TV_ARRESULT A, TV_BANKER B where A.""KEY"" = 'abc123' AND A.TEST_TYPE_CODE='ETSTWIT' AND A.RESULT = B.NAME")
    query2Result = GetQueryResult("select WITNESSED_BY from TV_ARRESULT t where ""KEY"" = 'abc123' AND TEST_TYPE_CODE='ETSTWIT'")
    ' --------------------------
    
    ' 比对结果并执行操作
    If query1Result = query2Result Then
        ' 结果一致,执行目标函数
        Call YourTargetFunction()
    Else
        ' 结果不一致,在指定书签位置插入错误文本
        Dim errorBookmark As Bookmark
        ' 假设Word文档中已创建名为"SignatureError"的书签
        Set errorBookmark = ThisDocument.Bookmarks("SignatureError")
        errorBookmark.Range.Text = "错误:签名验证失败,见证人与审核人信息不匹配!"
        ' 重新添加书签(替换文本会删除原有书签)
        ThisDocument.Bookmarks.Add "SignatureError", errorBookmark.Range
    End If
End Sub

' 封装数据库查询函数(示例)
Function GetQueryResult(sqlStr As String) As String
    Dim conn As Object
    Dim rs As Object
    Set conn = CreateObject("ADODB.Connection")
    ' 可从.ini读取数据库连接字符串,示例中为硬编码
    conn.Open "Provider=SQLOLEDB;Data Source=你的数据库地址;Initial Catalog=你的数据库名;User ID=账号;Password=密码;"
    Set rs = conn.Execute(sqlStr)
    If Not rs.EOF Then
        GetQueryResult = rs.Fields(0).Value
    Else
        GetQueryResult = ""
    End If
    rs.Close
    conn.Close
    Set rs = Nothing
    Set conn = Nothing
End Function

' 你需要执行的目标函数
Sub YourTargetFunction()
    ' 这里写入你要执行的逻辑,比如生成签名、标记验证通过等
    MsgBox "签名验证通过,执行指定操作!"
End Sub

注意事项

  • 确保Word文档中已创建用于显示错误文本的书签(如示例中的SignatureError);
  • 数据库连接字符串建议从.ini文件中读取,避免硬编码;
  • 如果使用Python等其他语言操作Word,逻辑框架一致:获取查询结果→比对→操作Word书签。

内容的提问来源于stack exchange,提问作者Brandon Pittam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 15:35:16