i have created a simple database for inserting the list of data into my sample dB but when i want to send data to database it gives me this error
01-17 15:30:43.015: ERROR/Database(822): Failure 1 (no such column: Sharma) on 0x276e50 when preparing ‘INSERT INTO friends Values(Sharma,SaiGeetha,18);””‘.
for reference i am pasting the 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();
}
}
Try:
instead of the original. You need to pass String values with quotes in SQL statements. If you do not quote them it is assumed that you reference
columns.As noted by njzk2 the usage of other methods is more appropriate. Look at this example: http://learnandroid.blogspot.com/2008/01/android-database.html. Especially the following excerpt: