繁体   English   中英

没有这样的列名错误

[英]no such column name error

我定义了列名。 但是我遇到这个错误。 我检查了每件事。 我找不到此错误的原因。

 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\")");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM