从数据库填充安排

时间:2013-09-06 06:48:23

标签: javascript arrays titanium appcelerator associative-array

我需要使用SQLITE数据库中的“name”和“nickname”的每个值填充一个数组,并在警报中显示它。

这是用于在钛appcelerator中用JavaScript编写的项目。

这是代码:

var fightersRS = db.execute('SELECT * FROM fighters');

 var setFighters = [];

while (fightersRS.isValidRow())
{
  var name = fightersRS.fieldByName('name');
  var nickname = fightersRS.fieldByName('nickname');

      setFighters.push = {
             name: name,
             nickname: nickname           
             };

     fightersRS.next();
}
alert(setFighters);

这个想法是警报显示所有逗号分隔值,例如:

  “穆罕默德·阿里,岩石巴尔博亚,十sh汉等......”

我怎么做?我的代码不起作用。

2 个答案:

答案 0 :(得分:1)

按如下方式更改您的代码

var fightersRS = db.execute('SELECT * FROM fighters');
var setFighters = [];
while (fightersRS.isValidRow())
{
  var name = fightersRS.fieldByName('name');
  var nickname = fightersRS.fieldByName('nickname');

      setFighters.push({"name": name, "nickname": nickname}); //This is the correct syntax for pushing an element to the array

     fightersRS.next();
}

您可以使用for loop显示元素,如下所示

for(var i=0; i <setFighters.length;i++){
    alert("Name = " + setFighters[index].name + " Nickname= " + setFighters[index].nickname);
}

如果您想用逗号显示其姓名,请尝试以下

var fightersRS = db.execute('SELECT * FROM fighters');
var setFighters = [];
while (fightersRS.isValidRow())
{
    var name = fightersRS.fieldByName('name');

    setFighters.push(name);

    fightersRS.next();
}

var fighters = setFighters.join(",");//Joining the array elements with comma
alert(fighters); //Will display all names with a comma

查看javascript join method

答案 1 :(得分:-1)

使用for循环或在while循环内只创建一个字符串,用逗号附加所有值。

无法使用逗号从数组中获取所有数据。 这是一个来自堆栈溢出的asccociative数组示例..你可以拥有自己的for循环或使用你正在创建的while循环

Associative array and fetching data

由于