Sütun '_ıd' yok Android?
Not Defteri örnekte böyle bir sorun yaşıyorum. İşte Notepadv1Solution/NotepadCodeLab: kodu
String[] from = new String[] { NotesDbAdapter.KEY_TITLE };
int[] to = new int[] { R.id.text1 };
SimpleCursorAdapter notes = new SimpleCursorAdapter(this,
R.layout.notes_row, c, from, to);
Bu kod gayet iyi çalışıyor görünüyor. Ama açık olalım, ADBkoştum programı çalıştırmak ve SQLite 3. Aşağıdaki gibi şema inceledim
CREATE TABLE android_metadata (locale TEXT);
CREATE TABLE notes (_id integer primary key autoincrement, title text
not null, body text not null);
Hepsi bana iyi görünüyor.
Şimdi benim uygulama için, görebildiğim kadarıyla, temelde aynı. birkaç küçük değişiklik. Basitleştirilmiş ve benim kod basitleştirilmiş ettik, ama sorun devam ederse.
String[] from = new String[] { "x" };
int[] to = new int[] { R.id.x };
SimpleCursorAdapter adapter = null;
try
{
adapter = new SimpleCursorAdapter(this, R.layout.circle_row, cursor, from, to);
}
catch (RuntimeException e)
{
Log.e("Circle", e.toString(), e);
}
Benim uygulama çalıştırdığınızda, bir RuntimeException ve aşağıdaki baskılar alıyorum
Log.e()
benim deyimi: LogCat
Mesaj LogCat:
java.lang.Sınıftır: sütun '' yok . _ıd
Yani, benim şeması hakkında farklı ne görmek SQLite 3 için:
Eksik olduğumu anlamıyorum '_ıd'.
Ben yanlış ne yaptım?
Benim uygulama ve Not Defteri örnek arasında farklı olan bir şey. sıfırdan benim uygulama kullanarak oluşturmaya başladım Örnek uygulama bir araya gelir zaten süre tutulması Sihirbazı. . orada yeni bir uygulama için yapmak istiyorum çevresel değişim bir çeşit SQLite veritabanı kullanmak?
CEVAP
Bu answered ve daha kapsamlı burada yapmak istiyorum.
İmleç sonuç kümesi sütun tam adı eklemek gerekir SimpleCursorAdapter"". _ıd Eğer "_ıd" tablonuzdaki sütun.tanımlamak sormaman değil şema değiştirmek için acele etmeyin SQLite otomatik olarak gizli bir sütun "" her tablo için. rowıd adlı ekledi Tüm yapmanız gereken sadece seçmek ve açıkça rowıd olarak takma adı '_ıd' Eski.
SQLiteDatabase db = mHelper.getReadableDatabase();
Cursor cur = db.rawQuery( "select rowid _id,* from your_table", null);
Android Streç eşit bir TableLayout süt...
Nasıl Denetim auto_fit sütun sayısını ...
Px, dp, arasındaki fark ve Android dip...
Doğru kullanımı Android kullanıcısı Yö...
Yakın/Android Klavyeyi gizlemek...