Soru & Cevap

SQLite Database

08.04.2014 - 11:42

Android projemde databaseden veri çekmeye çalışıyorum. Fakat uygulamayı çalıştırdığımda "no such table" hatasını alıyorum. Bu hatanın bi çözümü var mı ?  

26 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-8399-1392136330.jpg
ALTAHSN
10.04.2014 - 01:04

Bu veritabanım. Veritabani.java dosyasının içinde.

public class Veritabani extends SQLiteOpenHelper {

    
     private static final String VERITABANI ="mobilyonetici";
     private static final int SURUM =1;
    
     
    public Veritabani(Context com) {
        super(com, VERITABANI, null, SURUM);
        // TODO Auto-generated constructor stub
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE ajanda(yp_id INTEGER PRIMARY KEY AUTOINCREMENT, apart_id INTEGER, aciklama TEXT, kayit_tarih TEXT, yapilma_durumu TEXT )");
        db.execSQL("CREATE TABLE aidat(aidat_id INTEGER PRIMARY KEY AUTOINCREMENT, tarih TEXT, daire_sakini TEXT, aciklama TEXT, tutar TEXT )");
        db.execSQL("CREATE TABLE apartman(apart_id INTEGER PRIMARY KEY, apart_adi TEXT, adres TEXT, daire_sayisi INTEGER, katsayisi INTEGER, yonetici_ismi TEXT )");
        db.execSQL("CREATE TABLE daire(daire_id INTEGER PRIMARY KEY AUTOINCREMENT, apart_id INTEGER, no INTEGER, katno INTEGER)");
        db.execSQL("CREATE TABLE gider(gider_id INTEGER PRIMARY KEY AUTOINCREMENT, tutar INTEGER, tarih TEXT, aciklama TEXT, apart_id INTEGER)");
        
        db.execSQL("CREATE TABLE sakin(ds_id INTEGER PRIMARY KEY AUTOINCREMENT, adsoyad TEXT, daire_id TEXT, telefon INTEGER, email TEXT)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXIST ajanda ");
        db.execSQL("DROP TABLE IF EXIST apartman");
        db.execSQL("DROP TABLE IF EXIST daire");
        db.execSQL("DROP TABLE IF EXIST sakin");
        db.execSQL("DROP TABLE IF EXIST aidat");
        db.execSQL("DROP TABLE IF EXIST gider");
        onCreate(db);
        
    }

    public static Cursor selectQuery(String query) {
        // TODO Auto-generated method stub
        return null;
    }

    
        
    }

 

Burasıda aidat sayfam burada bilgileri çekip listview de listelemek istiyorum ama bu sorun çıkıyo karşıma.

public class aidat extends Activity {
    public String alanlar[]={"aciklama","kayit_tarih"};
   Button geri;
   Button aidatekle;
   ListView aidatlistele;
   
 
 
  private Veritabani mobilyonetici;
  private SimpleCursorAdapter dataAdapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       
        setContentView(R.layout.aidat);
        mobilyonetici =new Veritabani(this);
       
       aidatlistele= (ListView ) findViewById(R.id.aidatlistele); 
       Cursor crs = veriGetir();
       KayitGoster(crs);
 
       
        geri = (Button) findViewById(R.id.geri);
        geri.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                Intent i = new Intent(aidat.this,Anasayfa.class);
                startActivity(i);
                
            }
        });
        
        aidatekle = (Button) findViewById(R.id.ajandaduzenle);
        aidatekle.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                Intent i = new Intent(aidat.this,aidatduzen.class);
                startActivity(i);
                
            }
        });
    }
       

    

  private String[] SELECT = {"aidat_id", "aciklama","daire_sakini","tutar","tarih"};
private Cursor veriGetir() {
            SQLiteDatabase db = mobilyonetici.getReadableDatabase();
             Cursor c = db.query("aidat", SELECT, null, null, null, null, null);
             
             startManagingCursor(c);
             return c;
        
    }
ArrayList<String> array=new ArrayList<String>();
protected void KayitGoster(Cursor crs) {
    array.clear(); int id = 0; 
    String aciklama = "";
    String tarih="";
    String tutar="";
    String daire_sakini="";
    @SuppressWarnings("unused")
    String gelen="";
    while (crs.moveToNext()) {
        id = crs.getInt(crs.getColumnIndex("aidat_id"));
     aciklama=crs.getString(crs.getColumnIndex("aciklama"));
     tarih=crs.getString(crs.getColumnIndex("tarih"));
        tutar=crs.getString(crs.getColumnIndex("tutar"));
        gelen+=id+" "+aciklama+" "+tarih+""+tutar+"\n";
        array.add(id+  "  "+aciklama+  "  "+tarih+  "  "+tutar);
 }
     final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
          android.R.layout.simple_list_item_1, android.R.id.text1, array);
     final ListView list=(ListView)findViewById(R.id.aidatlistele);
     list.setAdapter(adapter);
}

 

İlgilendiğiniz için çok teşekkürler.. 
    

picture-16908-1396912439.jpg
emre_koc
09.04.2014 - 07:37

Bu hatayı 2 şekilde alırsınız. Ya tabloyu oluşturmamışsınızdır ya da tablo adını yanlış giriyorsunuz. Kod paylaşırsanız yardımcı olabilirim