Testcomplete Javascript-打印SQL查询的输出

问题描述 投票:0回答:1

我正在尝试输出执行SQL查询后成功更改的值(成功在此脚本外部手动执行)。这样我可以做一个检查点来验证查询是否按预期执行。我是初学者

到目前为止,我已经尝试了两件事:

我在通用文件/功能中尝试#1-的方法

function Execute_SQLQuery_GetField(queryString, vServer, fieldName)
{
    var query = queryString;

    var Qry = ADO.CreateADOQuery();
    Qry.ConnectionString = GetDBAConnectionString(vServer);

    Qry.SQL=query;
    Qry.Open();
    Qry.First();
    var value = Qry.FieldByName(fieldName).Value;
    Qry.Close();

    return value;
}

调用“ Execute_SQLQuery_GetField”函数的脚本:

function test(){
        var query = "select SECURITY, SECUFIRME, SYMBOLE, DESC_L1, DESC_L2, CATEGO, RISK_RATING from b_titre where RISK_RATING !=null";
        var fieldName = "RISK_RATING"

        var output = Execute_SQLQuery_GetField(query, vServerTitre, fieldName)
        Log.Message(output())


}

我也尝试过此方法#2:

在公用文件/功能中

function Execute_SQLQuery_GetFieldAllValues(queryString, vServer, fieldName)
{
    var query = queryString;

    var Qry = ADO.CreateADOQuery();
    Qry.ConnectionString = GetDBAConnectionString(vServer);

    Qry.SQL=query;
    Qry.Open();
    Qry.First();

    var arrayOfValues = new Array();
    while (!Qry.EOF){
        arrayOfValues.push(Qry.FieldByName(fieldName).Value);
        Qry.Next();
    }
    Qry.Close();

    return arrayOfValues;
}

调用“ Execute_SQLQuery_GetField”函数的脚本:

function test(){
        var query = "select SECURITY, SECUFIRME, SYMBOLE, DESC_L1, DESC_L2, CATEGO, RISK_RATING from b_titre where RISK_RATING !=null";
        var fieldName = "RISK_RATING"

        var output = Execute_SQLQuery_GetFieldAllValues(query, vServerTitre, fieldName)
        Log.Message(output())


}

因此,基本上,我首先手动执行了查询。然后使用脚本,通过打印更改后的值来确认它已成功执行。

我知道上面的代码有问题,但是我没有取得太大进展。

更新:

我还尝试将所有内容放在一个函数中并添加多个Log.Message。这是它的样子:(仍然无法正常工作)

function test(){
        var query = "select SECURITY, SECUFIRME, SYMBOLE, DESC_L1, DESC_L2, CATEGO, RISK_RATING from b_titre where RISK_RATING!=null";
        var fieldName = "RISK_RATING"


    Log.Message("1---------------------------")
    var Qry = ADO.CreateADOQuery();
    Qry.ConnectionString = GetDBAConnectionString(vServerTitre);

    Qry.SQL=query;
    Qry.Open();
    Qry.First();
    Log.Message("2---------------------------")

    var arrayOfValues = new Array();
    while (!Qry.EOF){
        Log.Message("3---------------------------")
        Log.Message(Qry.FieldByName(fieldName).Value)
        arrayOfValues.push(Qry.FieldByName(fieldName).Value);
        Qry.Next();
    }
    Qry.Close();

    Log.Message( arrayOfValues.Length)




}

输出日志:

log   1---------------------------  9:27:20 Normal          0.00
log   2---------------------------  9:27:20 Normal          0.41
log   empty 
javascript testcomplete
1个回答
0
投票

我知道了

问题行是:

var query = "select SECURITY, SECUFIRME, SYMBOLE, DESC_L1, DESC_L2, CATEGO, RISK_RATING from b_titre where RISK_RATING!=null";

添加两个单引号解决了我的问题:

var query = "select SECURITY, SECUFIRME, SYMBOLE, DESC_L1, DESC_L2, CATEGO, RISK_RATING from b_titre where RISK_RATING!='null'";
© www.soinside.com 2019 - 2024. All rights reserved.