1

私はTideSDKを初めて使用するので、いくつかのテストを行っています。API には、ローカル DB に格納されたデータを管理および取得するためのメソッドがいくつかあることがわかりました。id と name の 2 つのフィールドのみを持つ Users という名前のテーブルを作成しました (これはhttp://tidesdk.multipart.net/docs/user-dev/generated/#!/api/Ti.Database.DBの例です)。いくつかの乱数と名前を入力しました。これは私が使用している関数です:

function consulta (){
//Open the database first
var db = Ti.Database.openFile(Ti.Filesystem.getFile(
                          Ti.Filesystem.getApplicationDataDirectory(),    'customdatabase.db'));   

var rows = db.execute("SELECT * FROM Users ORDER BY firstName");

while (rows.isValidRow()) {

    document.getElementById('resultado').innerHTML = 'The user id is '+rows.fieldByName('id')+', and user name is '+rows.fieldByName('firstName')+'<br>';
rows.next();    
}
 document.getElementById('filas').innerHTML = rows.rowCount( );
//Release memory once you are done with the resultset and the database
rows.close();
db.close();
 }** 

私の問題は次のとおりです。rowCounts() メソッドの結果は 29 ですが (もちろん、結果に 29 行あることを意味します)、WHILE ブロックは代わりに 1 つの行を出力しています。誰かがこれを機能させるのを手伝ってくれますか? これには API を使用するべきではありませんか?

4

2 に答える 2

1

これを試して:

while (rows.isValidRow()) {

document.write('The user id is '+rows.fieldByName('id')+', and user name is '+rows.fieldByName('firstName')+'<br >'); rows.next(); } document.getElementById('filas').in nerHTML = rows.rowCount( ); //Release memory once you are done with the resultset and the database rows.close(); db.close(); }

ボディ内にスクリプトを配置する

于 2014-06-14T16:17:02.083 に答える
1

データベースモジュールのサンプル API 使用法をここで確認してください。

于 2013-08-26T04:09:57.037 に答える