Android 没有这样的列名错误
我定义了列名。但我面对这个错误。我检查了所有的东西。我找不到这个错误的原因Android 没有这样的列名错误,android,eclipse,sqlite,Android,Eclipse,Sqlite,我定义了列名。但我面对这个错误。我检查了所有的东西。我找不到这个错误的原因 try { myDB = this.openOrCreateDatabase("DatabaseName", MODE_PRIVATE, null); /* Create a Table in the Database. */ myDB.execSQL("CREATE TABLE IF NOT EXISTS " + TableName
try {
myDB = this.openOrCreateDatabase("DatabaseName", MODE_PRIVATE, null);
/* Create a Table in the Database. */
myDB.execSQL("CREATE TABLE IF NOT EXISTS "
+ TableName
+ " (" +
"name TEXT, " +
"number TEXT" +
");"
);
/* Insert data to a Table*/
myDB.execSQL("INSERT INTO "
+ TableName
+ "(name,number)"
+ " VALUES (name,number)");
// retrieve data from database
Cursor c = myDB.rawQuery("SELECT * FROM " + TableName , null);
// Check if our result was valid.
c.moveToFirst();
while(c.moveToNext())
{
Log.i("error",c.getString(0));
Log.i("error",c.getString(1) );
contactname.add(c.getString(c.getColumnIndex("name")));
contactnumber.add(c.getString(c.getColumnIndex("number")));
}
问题是
/* Insert data to a Table*/
myDB.execSQL("INSERT INTO "
+ TableName
+ "(name,number)"
+ " VALUES (name,number)");
尝试插入名称、编号,这两个名称都标识为列名,因为它们不是字符串。您应该像这样插入它:
/* Insert data to a Table*/
myDB.execSQL("INSERT INTO "
+ TableName
+ "(name, number)"
+ " VALUES (\"name\",\"number\")");
您忘记了列是文本('需要字符串分隔符!)。尝试
+“值('name','number')”代码>在插入命令中。谢谢。但值中的数字和值是变量而不是值。在这种情况下,您需要将它们从字符串中去掉,并且不要忘记正确地转义它们。