2

jquery mobile /phonegapを使用してiphonewebappを作成しており、Webデータベースを使用しようとしています。挿入するレコードが約700あり、SQLステートメントを含む別のファイルを作成してテーブルを作成し、アプリの最初の実行時にレコードを挿入したいと考えています。1つのトランザクションで複数のSQLステートメントを実行できるという利点があるため、html5sqlという小さなjavascriptモジュールを使用することにしました。

たとえば、私は実行することができます

sql = "CREATE TABLE milestones ( 
       ID       INT( 10 )        NOT NULL,
       Title    VARCHAR( 50 )    DEFAULT NULL,
       mYear    INT( 11 )        NOT NULL);
       INSERT INTO `milestones` VALUES ('2', 'Cotton Mather', '1721');";

を使用して

 html5sql.process(sql, function(){ //Success}, function(error, failingQuery){//Failure});

それ以外の

transaction.executeSql('CREATE TABLE milestones (ID INT( 10 ) NOT NULL, Title VARCHAR(50 )    DEFAULT NULL, mYear    INT( 11 )        NOT NULL);', [], nullDataHandler, errorHandler); 
transaction.executeSql('INSERT INTO [milestones] ([ID], [Title], [mYear]) VALUES (2, "Cotton Mather", "1721");', [], nullDataHandler, errorHandler); 

htlm5sqlの問題は、プロセス関数とSELECTステートメントを使用してデータベースから情報を取得し、結果をdivブロックに表示する方法に関する情報がないことです。

これがhtml5sqlの唯一の短いガイドです

誰かがこれを手伝ってくれますか?

4

2 に答える 2

2

もちろん。html5sqlを使用したデータの選択は非常に簡単で、次のような簡単な方法で実行できます。

html5sql.process(
    ["SELECT * FROM milestones;"],
    function(transaction, results, rowsArray){
      for(var i = 0; i < rowsArray.length; i++){
        //each row in the rowsArray represents a row retrieved from the database
        var id = rowsArray[i].ID;
        var Title = rowsArray[i].Title;
        var mYear = rowsArray[i].mYear;
        console.log("Retrieved Milestone: "+id+" - "+Title+" "+mYear);
      }
    },
    function(error, statement){
      //hande error here           
    }
);

より詳細な例が必要な場合は、しばらく前にjsfiddleを作成しました。このコードには、データベースの作成と入力、データの選択と取得のプロセス全体を示す実際の動作コードが含まれています。

html5sqlの作成者として、ドキュメントが不足していることをお詫びします。私はサイトのドキュメントを改善し、物事を行う方法の実例をさらに追加するように取り組んでいます。

于 2011-11-17T20:16:12.450 に答える
1

これは私が理解するのに永遠にかかりました。ドキュメント内の選択した結果の3番目のパラメータを実際に追加する必要があります

于 2013-04-23T15:34:29.277 に答える