Testcomplete Javascript-打印SQL查询的输出
我试图手动输出在执行在此脚本之外成功执行的SQL查询后更改的值。这样我就可以做一个检查点来验证查询是否按预期执行。我是初学者 到目前为止,我尝试了两件事: 我在一个公共文件/函数中尝试了1-的方法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
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