Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Testcomplete Javascript-打印SQL查询的输出_Javascript_Testcomplete - Fatal编程技术网

Testcomplete Javascript-打印SQL查询的输出

Testcomplete Javascript-打印SQL查询的输出,javascript,testcomplete,Javascript,Testcomplete,我试图手动输出在执行在此脚本之外成功执行的SQL查询后更改的值。这样我就可以做一个检查点来验证查询是否按预期执行。我是初学者 到目前为止,我尝试了两件事: 我在一个公共文件/函数中尝试了1-的方法 function Execute_SQLQuery_GetField(queryString, vServer, fieldName) { var query = queryString; var Qry = ADO.CreateADOQuery(); Qry.Connect

我试图手动输出在执行在此脚本之外成功执行的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;
}
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\u SQLQuery\u 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())


}
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())


}
我也尝试过这种方法-方法2:

在公共文件/函数中

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;
}
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\u SQLQuery\u 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())


}
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())


}
基本上,我首先手动执行查询。然后使用脚本,我想通过打印更改的put值来确认它是否成功执行

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

更新:

我还尝试将所有内容放在一个函数中,并添加多个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 
我想出来了

问题是:

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'";

代码与所调用的不匹配,在函数中称为Execute\u SQLQuery\u GetField,但在调用代码中调用的是另一个方法Execute\u SQLQuery\u GetFieldAllFields,AllFields方法的代码在哪里?谢谢,我编辑了代码。我尝试了两种方法,但仍然没有得到预期的结果。我正在查看这篇文章,因为这是你在该网站上的第一篇文章,顺便说一句,欢迎来到该网站。一旦你在网站上呆了一段时间,并且获得了足够好的评分,你也会被要求查看其他人的第一篇帖子和第一个答案,很抱歉,我不是javascript专家,所以不知道如何解决你的问题,虽然看起来没有什么变化,但这两种情况下的调用都是选择而不是更新,因此没有记录发生变化,您是否遗漏了示例中的一个步骤?此外,该查询是全方位的,当var fieldName=RISK\u RATING var query=select+fieldName+from b\u titre where RISK\u RATING时,该查询看起来会更好吗=无效的我添加了另一个我尝试过但仍然不起作用的情况。我不知道如何使sql查询看起来更好。这是我第一次处理SQL、Testcomplete或Javascript