2011-03-19 18 views
11

Android uygulamaları geliştiriyorum. Etkinliğimde bir xml düğmesi geliştirmem ve sqlite veritabanı ve tablolarımı oluşturmam gerekiyor. Bir tabloyu silmek için kullanıcının bir düğmeye basmasına nasıl izin verebilirim? Teşekkürler. SabitJava'da, bir sqlite tablosunu nasıl silebilirim?

+2

Kullanım 'drop table "tablo_adı"': Başkaları tarafından belirtildiği gibi, tamamen veritabanından kaldırılır istiyorsanız

, bu çalışması gerekir. Örnek: http://www.kodejava.org/examples/117.html – Margus

+0

[SQLite: çok sayıda satır bırakmanın etkili yolu] 'nın olası kopyası (http://stackoverflow.com/questions/19530419/sqlite-efficient-way -to-drop-lots-of-satırlar) – AndroidMechanic

cevap

33

daha bağlamda cevap vermek ancak nihai oracle sorgu olacaktır:

db bir SQLiteDatabase nesnesi için bir referans
db.execSQL("DROP TABLE IF EXISTS table_name"); 

.

+1

Çok teşekkürler, ama aşağıdaki paragrafta deyimi koyduğumda, hala çalışmıyor: public void onOpen() { \t Düğme next3 = (Düğme) findViewById (R.id.Button03); next3.setOnClickListener (yeni View.OnClickListener() { \t SQLiteDatabase db; \t \t \t \t \t @Override \t \t \t public void onClick (View görünümü) {\t \t \t \t \t db.execSQL (Msgstr "" ":" "" "" "" "" "" "" "" "" "" "" "" "" ""\t \t \t}); \t \t } – user667571

+1

Hala ilk açmak gerekir db, geçerli bir başvuru olması gerekir, burada basit bir öğretici var http://www.reigndesign.com/blog/using-your-own-sqlite -veritabanı-in-robot-uygulamalarda /. Bununla birlikte daha fazlasını yapmak istiyorsanız, İçerik Sağlayıcılarına bakmak istersiniz. – Cthos

0
SQLiteDatabase sdb; 
sdb=openOrCreateDatabase("dbname.db", Context.MODE_WORLD_WRITEABLE, null); 
sdb.execSQL("DROP TABLE IF EXISTS tablename"); 
12

sorunuzla ilgili bir muğlaklık vardır. Bir tablo SİLME bir tablo ve DROPPING bir tablo arasında bir fark olduğunu unutmayın. tablo silmek yalnızca kendi satırları tüm verileri siler:

database.delete(TABLE_NAME, null, null); 

hala var olduğundan Bundan sonra, hala bu tabloyu kullanabilir ancak aynı adla yeni bir tane oluşturmak TABLO OLUŞTURMAK kullanmadan sorunlu olabilir SORUN GİDERME sql.

DROP TABLE'u kullanarak tabloyu tamamen kaldırır ve yeniden oluşturulmadıkça yeniden başvurulamaz.

db.execSQL("DROP TABLE IF EXISTS table_Name"); 
İlgili konular