I am trying to fetch data from a database and display it in the app.
Below is my code. The invokation is doing well, but the data is not displayed.
sqlAdapter-impl.js
var selectStatement = WL.Server.createSQLStatement("select * from studentinfo");
function getStudentInfos() {
return WL.Server.invokeSQLStatement({
preparedStatement : selectStatement,
parameters : []
});
}
sqlAdapter.js
window.$ = window.jQuery = WLJQ;
function wlCommonInit() {
GetEmployeeData();
}
function GetEmployeeData() {
var invocationData = {
adapter : 'sqlAdapter',
procedure : 'getStudentInfos'
};
WL.Client.invokeProcedure(invocationData,{
onSuccess : loadFeedsSuccess,
onFailure : loadFeedsFailure
});
}
function loadFeedsSuccess(result){
WL.Logger.debug("Feed retrieve success");
busyIndicator.hide();
if (result.invocationResult.Items.length>0)
displayFeeds(result.invocationResult.Items);
else
loadFeedsFailure();
}
function displayFeeds(items){
var ul = $('#itemsList');
for (var i = 0; i < items.length; i++) {
var li = $('<li/>').html(items[i].sid);
var pubDate = $('<div/>', {'class': 'pubDate'}).html(items[i].sname);
li.append(pubDate);
ul.append(li);
}
}
sqlAdapter.html
<body id="content" style="display: none;">
<div id="itemsList"></div>
<script src="js/initOptions.js"></script>
<script src="js/sqlAdapter.js"></script>
<script src="js/messages.js"></script>
</body>
this is what I get on invoking the procedure
{
"isSuccessful": true,
"resultSet": [
{
"sclass": "PUC",
"sgrade": "A+",
"sid": "PUC001",
"sname": "Rohan"
},
{
"sclass": "PUC",
"sgrade": "A",
"sid": "PUC002",
"sname": "Rakesh"
},
{
"sclass": "PUC",
"sgrade": "C",
"sid": "PUC003",
"sname": "Raj"
},
{
"sclass": "PUC",
"sgrade": "E",
"sid": "PUC004",
"sname": "Roman"
}
]
}
I just want all these things to be printed on the screen
First, you need to change "Items":
To "resultSet":
Second, I've used the
worklight_training
database script Worklight provides in conjunction with your code snippets from the question. I've altered thedisplayFeeds
function to this:The end result was displaying the
firstName
values from theusers
table.You can then play with your JavaScript a bit more to display what you want from your database table...
BTW, as you can see... the console in Chrome Dev Tools does show something... which you claim in your case it does not. You need to figure that out.