HTML5SQL извлекает записи из веб-баз данных, используя операторы SELECT - PullRequest
2 голосов
/ 17 ноября 2011

Я создаю веб-приложение для iphone с помощью jquery mobile / phonegap и пытаюсь использовать веб-базу данных. У меня есть около 700 записей для вставки, и я хочу иметь отдельный файл с операторами SQL для создания таблицы и вставки записей в первый раз, когда приложение запускается. Я решил использовать небольшой модуль javascript под названием html5sql , потому что он дает мне преимущество выполнения нескольких операторов SQL в одной транзакции.

например я могу выполнить

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

Может кто-нибудь помочь мне с этим?

Ответы [ 2 ]

2 голосов
/ 18 ноября 2011

Конечно. Выбор данных с помощью 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, я прошу прощения за отсутствие документации. Я работаю над улучшением документации на сайте и добавляю больше примеров из жизни.

1 голос
/ 23 апреля 2013

Это заняло у меня целую вечность, чтобы понять.Вы действительно должны добавить этот третий параметр для выбора результатов в ваших документах

...