abdurrahmanekr / bana-istedigini-sor

Yeni paylaştığım yazılardan haberdar olmak için bloguma abone olun:
https://avarekodcu.com
12 stars 1 forks source link

SQLite kullanamıyorum #68

Closed aozfen closed 5 years ago

aozfen commented 5 years ago
SqlService.query("SELECT * FROM tbl_groups").then(res => {
    console.log(res)
});

Bu şekilde bir sorgu kullanıyorum loga hiç düşmüyor bile. Debugger ilede test ettim gelmıyor oraya.

SqlService.select("tbl_groups", "*", "", []).then(res => {
      console.log('select',res);
 });

Bunu kullandığımda boş array döndürüyor. Tablo ismini değiştirince böyle bir tablo bulunamadı dıye hata veriyor yani burada bir sıkıntı olmadıgını düşünüyorum ancak insert'i kullanıyorum yine boş döndürüyor. İnsert methodu olumlu oldu mu olmadı mı oda geriye bir şey döndürmüyor.

SqlService.insert("tbl_groups", ["name"], ["SQL NAME"]).then(res => {
      console.log('insert',res)
 });

ve sürekli "warning - exception while invoking a callback: {"code":0}" hatasını alıyorum.

Saatlerce araştırdım ama bir sonuç bulamadım. Yardımcı olur musun ?

abdurrahmanekr commented 5 years ago

Merhaba, websqlite'ın timeout özelliği var. Insert işleminin sonucunu eğer beklemek istiyorsanız SqlService.rightNow().insert(... şeklinde çalıştırırsanız olur. Eğer tek tek uğraşmak istemiyorsanız init ederken timeout değerine 0 verirseniz tüm callback'lar senkron şekilde gelir. ör:

SqlService.init({
    id: 'user', // db name
    dbObject: window, // database object eg: window.openDatabase
    timeout: 0
})
aozfen commented 5 years ago

Teşekkür ederim rightNow() işimi çözdü. Birde şunu sormak isterim sqlite dosyasını göremıyoruz daha öncede birisi sormuş kernelde tutuluyor demiştiniz. Dosya halinde göremiyorsak bile SQL sorgusu ile db'de olan tabloları nasıl göre biliriz ? Araştırdım ancak bir sonuç bulamadım

aozfen commented 5 years ago

Onu da şuan buldum; SELECT name FROM sqlite_master WHERE type='table' ORDER BY name