0

我正在尝试根据特定数据库字段的内容显示或隐藏按钮。我将字段定义为“文本”,因为该字段可能包含类似 1-1 或 1-20 或 0 的内容。如果字段 (arref1) 不等于 0,那么我想显示我的按钮。否则隐藏按钮。这是我到目前为止所拥有的,但它不起作用:

var resultRule = db.execute('SELECT arref1 FROM genrules WHERE title="'+client+'"');
if (resultRule!='0') {

var appliedRule1 = Ti.UI.createButton({
title:' Applied Rule ' + rows.fieldByName('arref1') + '',
bottom:120,
left: 80,
width: 'auto',
height:40,
borderRadius:5,
textAlign: 'center',
color:'#FFFFFF',
backgroundColor:'#7b4336',
backgroundSelectedColor:'#cc9933',
backgroundImage: 'NONE',
font:{fontSize:'20dp'}
});
win.add(appliedRule1);

appliedRule1.addEventListener('click',function(e)
{

    var win = Ti.UI.createWindow({
        url: 'appliedruledetail.js',
        title:' Applied Rule' + rows.fieldByName('arref1') + ''
    });

    var client = '' + rows.fieldByName('genrule') + '' ;
    win.client = client;
    Ti.UI.currentTab.open(win);
}

);
} else{};
4

1 回答 1

2

db.execute返回一个Titanium.DB.ResultSet(它是一个对象)而不是一个字符串。

以下是如何使用结果集:

// Get the row with execute, returns a resultSet
var row = db.execute('SELECT * FROM genrules WHERE title="'+client+'"');
// Make sure its a valid row
if (row.isValidRow()){ 
  // Now get the field from the current row
  if(row.fieldByName('arref1') != '0') {
       // Add your button here
  }
}
row.close(); // Close the result set since were done with it

我大量借鉴了文档中的这个例子

于 2012-09-03T20:49:45.843 回答