SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

Penyimpanan database SQLite menggunakan Android dan Phonegap

tx.executeSql('DROP TABLE IF EXISTS DEMO');

Baris di atas menghapus tabel bernama DEMO setiap kali Anda memulai aplikasi seluler PhoneGap

Dan saya hanya ingin memberi tahu Anda bahwa saya menyukai kode Anda. Ini memberikan petunjuk yang sangat bagus tentang "apa yang harus dilakukan" untuk aplikasi PhoneGap atau Cordova siapa pun. Ini akan sangat membantu siapa saja yang baru pertama kali memasuki dunia SQLite.

Kode Anda sangat bersih untuk dibaca dan dipahami dibandingkan dengan kode yang tertulis di situs resmi plugin Cordova/PhoneGap SQLite di GitHub.

Teman saya, yang juga bekerja sebagai CTO sebuah perusahaan, dan memiliki banyak pengalaman dengan SQLite, mengatakan kepada saya bahwa tidak perlu menutup koneksi database SQLite secara manual, dan juga sangat merekomendasikan SQLite.

Dan untuk siapa saja yang mencari SQLite untuk informasi PhoneGap/Cordova -

Katakanlah Anda memiliki tabel bernama mytable dan ingin menyimpan nilai "indah" dan "lumba-lumba"

Saat Anda ingin melakukan operasi pada SQLite perangkat seluler, seperti tablet atau ponsel, ingatlah untuk menyebutnya dengan cara ini

Miliki yang berikut ini di kode sumber Anda

function insertNewLine(tx) 
{
   tx.executeSql("INSERT INTO mytable (word, meaning) VALUES (?,?)", [ var1 , var2 ]);
}

dan simpan "indah" di dalam var1 dan "lumba-lumba" di dalam var2 dan

lakukan pernyataan berikut untuk mengeksekusi pernyataan penyisipan SQL dan kemudian simpan di dalam perangkat.

db.transaction(insertNewLine);   

Jangan langsung panggil insertNewLine(tx)

Jangan langsung panggil tx.executeSql( /* SQL INSERT STATEMENT */ ); di kode sumber JavaScript Anda

Dan jangan sertakan nilai langsung ke dalam pernyataan kueri SQL, lalu jalankan pernyataan SQL yang menyertakan nilai yang ingin Anda simpan dalam database.

Dengan kata lain, berikut ini salah

tx.executeSql('INSERT INTO mytable (word, meaning) values (beautiful, dolphin)');

Di atas salah karena nilai yang ingin Anda simpan, "indah" dan "lumba-lumba" disertakan di dalam pernyataan SQL. Mereka harus terpisah.

Berikut ini adalah cara yang benar untuk menjalankan INSERT SQL

tx.executeSql("INSERT INTO mytable (word, meaning) VALUES (?,?)", [ var1 , var2 ]);
 // Notice that the values you want to store, beautiful and dolphin
 // are separate from the SQL INSERT INTO statement

dan kemudian lakukan seluruh transaksi basis data dengan memasukkan yang berikut ini dalam kode JavaScript Anda

db.transaction(insertNewLine);

bukan kode di bawah

tx.executeSql("INSERT....."); // this will not save your values onto the device

bukan kode di bawah ini juga

insertNewLine(tx); // this will not save your values onto the device either.  

Dan untuk menggunakan pernyataan SELECT SQL, miliki kode berikut

// Get all lines in the table
//
function viewthelastglory(tx)  
{
    tx.executeSql( 'SELECT * FROM CUSTOMTABLE', [], querySuccess, errorcode );
}

// Deal with the lines 
//
function querySuccess(tx, results) 
{
   var len = results.rows.length; var  queryresult = "all entries ";

   for (var i = 0 ; i < len ; i++)
   {
       queryresult =  queryresult +  

       " Row - " + i + 
       " Word - " + results.rows.item(i).word + 
       " Meaning - " + results.rows.item(i).meaning;
   }

// and now, you can use the queryresult variable to use the values   
}

function errorcode(errorhaha) 
{
    alert("Error Code " + errorhaha.code + " Error Message " + errorhaha.message);
}

Dan kemudian, lakukan transaksi database

db.transaction(viewthelastglory);

Jika Anda mencoba untuk memilih salah satu dari SQLite, WebSQL dan IndexedDB, harap diingat bahwa saya mencari di sekitar stackoverflow untuk sementara waktu dan mengetahui bahwa

  • Tidak ada yang menyukai IndexedDB karena kerumitannya
  • IndexedDB tidak kompatibel dengan banyak jenis dan versi OS seluler
  • WebSQL tidak digunakan lagi oleh W3C
  • WebSQL mengembalikan 673 ribu hasil tetapi SQLite mengembalikan 1800 ribu hasil. IndexedDB mengembalikan 300 ribu hasil di Google
  • Di antara IndexedDB, SQLite dan WebSQL, hanya SQLite yang memiliki situs resmi.

Perintah berikut di baris perintah saat Anda berada di direktori proyek Cordova Anda akan menginstal plugin SQLite ke proyek Cordova Anda

cordova plugin add https://github.com/brodysoft/Cordova-SQLitePlugin


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hapus Duplikat dari Count() Hasil di SQLite

  2. Bagaimana mengonversi milidetik menjadi tanggal di SQLite

  3. 3 Cara Mencadangkan Basis Data SQLite

  4. Izinkan pengguna untuk hanya mengakses tabel tertentu di penyedia konten saya

  5. Cara Mengubah Prompt Baris Perintah di SQLite