Wie Legen Sie die Liste der Daten in der Sqlite-Datenbank
habe ich eine einfache Datenbank, die für das einfügen der Liste der Daten, die in meiner Beispiel-dB, aber wenn ich senden möchten, um Daten in die Datenbank, es gibt mir diese Fehlermeldung
01-17 15:30:43.015: FEHLER/Datenbank(822): Fehler 1 (keine Spalte: Sharma) auf 0x276e50 bei der Vorbereitung von 'INSERT INTO Freunde Values(Sharma,SaiGeetha,18);""'.
Referenz, ich bin kopieren Sie den code
sampleDB = this.openOrCreateDatabase(SAMPLE_DB_NAME, MODE_PRIVATE, null);
ArrayList<String>FirstName = new ArrayList<String>();
ArrayList<String>LastName = new ArrayList<String>();
ArrayList<Integer >Age = new ArrayList<Integer>();
FirstName.add("SaiGeetha");
FirstName.add("Vivek");
FirstName.add("Rahul");
LastName.add("Sharma");
LastName.add("Lilani");
LastName.add("Lami");
Age.add(18);
Age.add(20);
Age.add(23);
sampleDB.execSQL("CREATE TABLE IF NOT EXISTS " +
SAMPLE_TABLE_NAME +
" (LastName VARCHAR, FirstName VARCHAR," +
" Age INT(3));");
for(int i=0;i<3;i++)
{
sampleDB.execSQL("INSERT INTO " +
enter code here
SAMPLE_TABLE_NAME +
" Values("+LastName.get(i)+","+FirstName.get(i)+","+Age.get(i)+");"+"\"\"");
}
/*sampleDB.execSQL("INSERT INTO " +
SAMPLE_TABLE_NAME +
" Values ('Makam','Sai Geetha','India',25);");
sampleDB.execSQL("INSERT INTO " +
SAMPLE_TABLE_NAME +
" Values ('Chittur','Raman','India',25);");
sampleDB.execSQL("INSERT INTO " +
SAMPLE_TABLE_NAME +
" Values ('Solutions','Collabera','India',20);");*/
Cursor c = sampleDB.rawQuery("SELECT FirstName, Age FROM " +
SAMPLE_TABLE_NAME +
" where Age > 10 LIMIT 5", null);
if (c != null ) {
if (c.moveToFirst()) {
do {
String firstName = c.getString(c.getColumnIndex("FirstName"));
int age = c.getInt(c.getColumnIndex("Age"));
Log.e("---LIST FROM DATABASE--","---VALUE---"+firstName);
Log.e("---LIST FROM DATABASE--","---VALUE---"+age );
}while (c.moveToNext());
}
}
sampleDB.close();
} catch (SQLiteException se )
{
Log.e(getClass().getSimpleName(), "Could not create or Open the database");
} finally {
if (sampleDB != null)
sampleDB.execSQL("DELETE FROM " + SAMPLE_TABLE_NAME);
sampleDB.close();
}
}
Ich bin mir nicht so sicher, warum Sie annehmen, die nur eine der drei Antworten ist vollkommen falsch.
InformationsquelleAutor shvivek | 2012-01-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen:
statt das original. Sie müssen übergeben Sie String-Werte in Anführungszeichen in SQL-Anweisungen. Wenn Sie nicht zitieren, es wird davon ausgegangen, dass Sie auf
columns
.Wie bereits von njzk2 die Verwendung von anderen Methoden besser geeignet. Schauen Sie auf dieses Beispiel: http://learnandroid.blogspot.com/2008/01/android-database.html. Besonders der folgende Auszug:
auch mit contentValues ist empfehlenswert, mehr ausfallsicher, besser lesbar und wartbarer ; und über "einfügen" anstelle von execSQL ist klarer zu
ich füge einen Verweis zu, und ich Stimme völlig mit Ihrem Punkt
Danke Fyr habe ich lösen, indem Sie mit beiden von Euch sugesstion
InformationsquelleAutor fyr
Ändern Sie Ihre SQL folgendermaßen:
InformationsquelleAutor Thommy