我正在尝试输出执行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
我知道了
问题行是:
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'";