将从 sql 适配器返回的结果集分配给全局变量及其用法
Assign resultSet returned from sql adapter to a global variable and its usage
这是我的JS文件
window.$ = window.jQuery = WLJQ;
function wlCommonInit() {
}
$(document).ready(function(){
$("#search").click(function(){
GetMedicine();
});
});
window.e='';
var univ;
function GetMedicine() {
var medicine= $("#medicine").val();
var location=$("#location").val();
alert(medicine);
var invocationData = {
adapter : 'ATM',
procedure : 'getMedicineDetails1',
parameters: [medicine,location]
};
WL.Client.invokeProcedure(invocationData,{
onSuccess : loadFeedsSuccess,
onFailure : loadFeedsFailure
});
}
function loadFeedsSuccess(result){
window.e=result;
univ=result.invocationResult.resultSet.length;
WL.Logger.debug("loadsfeedssuccess");
if (result.invocationResult.resultSet.length>0)
{
var invocationData={
adapter : 'ATM',
procedure : 'checkCount',
parameters: []
};
WL.Client.invokeProcedure(invocationData,{onSuccess:countgreater});
}
else
{
loadFeedsFailure1();
}
}
function countgreater(result){
if(result.invocationResult.resultSet.length>0)
{
alert("entered count greater");
var c=result.invocationResult.resultSet[0].num;
if(c>=0)
{
invocationData={
adapter : 'ATM',
procedure : 'getStoreDetails',
parameters: [e[c].RegNo]
};
WL.Client.invokeProcedure(invocationData,{onSuccess:displayAgain});
}
else
{
invocationData2={
adapter : 'ATM',
procedure : 'deleteQuery',
parameters: []
};
WL.Client.invokeProcedure(invocationData2);
}
}
}
适配器 JS
var selectStatement = WL.Server.createSQLStatement("select * from medicine WHERE Name= ? ");
var selectStatement2 = WL.Server.createSQLStatement("select LocId from location WHERE LocName= ? ");
var selectStatement4 = WL.Server.createSQLStatement("select RegNo from stormedavl where MedId=? AND Availability=true");
var selectStatement5 = WL.Server.createSQLStatement("select * from store WHERE RegNo=? ");
var selectStatement6 = WL.Server.createSQLStatement("select RegNo from stormedavl where LocId=? AND (MedId=? AND Availability=true)");
var selectStatement7 = WL.Server.createSQLStatement("insert into querycheck values (?)");
var selectStatement8 = WL.Server.createSQLStatement("select * from querycheck");
var selectStatement9 = WL.Server.createSQLStatement("update querycheck set num=?");
var selectStatement10 = WL.Server.createSQLStatement("delete from querycheck");
var selectStatement11 = WL.Server.createSQLStatement("insert into alertcheck values(?)");
var selectStatement12 = WL.Server.createSQLStatement("select * from alertcheck");
var selectStatement13 = WL.Server.createSQLStatement("delete from alertcheck");
function getMedicineDetails1(Name,Location) {
var a=getMedicineDetails(Name);
var MedId=a.resultSet;
var b=getLocId(Location);
var LocId=b.resultSet;
var d,f,g;
if(a.resultSet.length>0)
{
d=getFinal(LocId[0].LocId,MedId[0].MedId);
e=d.resultSet;
if(e && e.length>0)
{
var len=e.length-1;
var r=insertQueryCheck((len));
if(r.updateStatementResult.updateCount>0)
return d;
}
else
{
f=WL.Server.invokeSQLStatement({
preparedStatement : selectStatement4,
parameters : [MedId[0].MedId]
});
if(f.resultSet.length>0)
{
g=f.resultSet;
insertQueryCheck(f.resultSet.length);
return f;
}
}
else
{
WL.Server.invokeSQLStatement({
preparedStatement : selectStatement11,
parameters : [1]
});
return f;
}
}
}
else
{
WL.Server.invokeSQLStatement({
preparedStatement : selectStatement11,
parameters : [0]
});
return a;
}
}
function getMedicineDetails(Name) {
return WL.Server.invokeSQLStatement({
preparedStatement : selectStatement,
parameters : [Name]
});
}
function getLocId(Location) {
return WL.Server.invokeSQLStatement({
preparedStatement : selectStatement2,
parameters : [Location]
});
}
function getStoreDetails(RegNo) {
return WL.Server.invokeSQLStatement({
preparedStatement : selectStatement5,
parameters : [RegNo]
});
}
function insertQueryCheck(Length) {
return WL.Server.invokeSQLStatement({
preparedStatement : selectStatement7,
parameters : [Length]
});
}
function checkCount()
{
return WL.Server.invokeSQLStatement({
preparedStatement : selectStatement8,
parameters : []
});
}
function updateCount(len)
{
return WL.Server.invokeSQLStatement({
preparedStatement : selectStatement9,
parameters : [len]
});
}
function deleteQuery()
{
return WL.Server.invokeSQLStatement({
preparedStatement : selectStatement10,
parameters : []
});
}
我想通过将结果集分配给全局变量"e"来分配在后续函数中返回给 loadFeedsuccess的结果集。我无法这样做。当我在阅读e[c]时。RegNo 在 countgreater 函数中,它显示错误无法从未定义读取 RegNo。有没有办法这样做
也许替换:
e[c].RegNo
跟:
e.invocationResult.resultSet[c].RegNo
如果这不起作用,只需添加一个日志语句,找出您想要的值的正确路径。例如:
alert(JSON.stringify(e))
或
console.log(JSON.stringify(e))
或
WL.Logger.debug(JSON.stringify(e))
在loadFeedsSuccess
和countgreater
功能内部。
相关文章:
- 全局变量和全局对象的属性之间有什么区别吗
- delete关键字在全局变量上的不同行为
- 在javascript函数中设置全局变量
- 如何将getJson的响应保存在全局变量中
- 从Javascript方法返回全局变量
- AngularJS中的封装窗口全局变量
- javascript隐式全局变量
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 如何使全局变量仅特定于该文件
- 在page.open()-PhantomJS中无法访问全局变量
- 使用全局变量来存储数字(JavaScript)
- 如何将变量声明为全局变量
- 在节点中创建文件全局变量
- 在Javascript中使用全局变量作为缓存是很好的
- 创建要在其他函数中使用的全局变量
- 为了避免创建全局变量,可以将所有变量分配给一个对象吗
- 函数中的innerHTML(全局变量?)
- 如何在javascript中为全局变量赋值
- 全局变量只能由第一个函数访问
- 将从 sql 适配器返回的结果集分配给全局变量及其用法