SQL语句包含表中没有的字段,报错no such column:


SQL语句包含表中没有的字段,报错no such column:
  1. Android 2.3.3     
  2. Eclipse Version: 3.7.0     
  3. Console  

LogCat  报错信息:

  1. 02-23 11:20:41.360: ERROR/AndroidRuntime(4366): android.database.sqlite.SQLiteException: no such column: iphone: , while compiling: SELECT * FROM Mobile WHERE iphone=? and status=1  
  2. 02-23 11:20:41.360: ERROR/AndroidRuntime(4366):     at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)   
  3. 02-23 11:20:41.360: ERROR/AndroidRuntime(4366):     at android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:92)   
  4. 02-23 11:20:41.360: ERROR/AndroidRuntime(4366):     at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:65)   
  5. 02-23 11:20:41.360: ERROR/AndroidRuntime(4366):     at android.database.sqlite.SQLiteiphone.<init>(SQLiteiphone.java:83)   
  6. 02-23 11:20:41.360: ERROR/AndroidRuntime(4366):     at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:49)   
  7. 02-23 11:20:41.360: ERROR/AndroidRuntime(4366):     at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:42)   
  8. 02-23 11:20:41.360: ERROR/AndroidRuntime(4366):     at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1356)   
  9. 02-23 11:20:41.360: ERROR/AndroidRuntime(4366):     at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1235)   
  10. 02-23 11:20:41.360: ERROR/AndroidRuntime(4366):     at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1189)   
  11. 02-23 11:20:41.360: ERROR/AndroidRuntime(4366):     at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1271)   
  12. 02-23 11:20:41.360: ERROR/AndroidRuntime(4366):     at com.tmall.nokia.db.MobileDBHelper.find_Iphone(MobileDBHelper.java:55)   
  13. 02-23 11:20:41.360: ERROR/AndroidRuntime(4366):     at com.tmall.nokia.MobileDBopt.find_Iphone(MobileDBopt.java:154)   
  14. 02-23 11:20:41.360: ERROR/AndroidRuntime(4366):     at com.tmall.nokia.manage.Mobile.startImport(Mobile.java:175)   
  15. 02-23 11:20:41.360: ERROR/AndroidRuntime(4366):     at com.tmall.nokia.manage.Mobile$3.run(Mobile.java:117)   
  16. 02-23 11:20:41.360: ERROR/AndroidRuntime(4366):     at java.lang.Thread.run(Thread.java:1019)  
主要错误:

02-23 11:20:41.360: ERROR/AndroidRuntime(4366): android.database.sqlite.SQLiteException: no such column: iphone: , while compiling: SELECT * FROM Mobile WHERE iphone=? and status=1  

发生错误原因分析:

从Mobile表中查询iphone时,发现数据库的Mobile表中没有iphone这一列。检查创建数据库表的代码,发现在建Mobile表时,确实没有iphone字段。 

解决办法:

在创建数据库的Mobile表时添加iphone列。

相关内容