我在android中创建了这个表:
String CREATE_TABLE="CREATE TABLE " + db_NAME + " ("
+ row_ID + " INT PRIMARY KEY AUTOINCREMENT,"
+ row_NAME + " TEXT, "
+ row_EMAIL + " TEXT, "
+ row_WEBSITE + " TEXT, "
+ row_TELEPHONE1 + " TEXT, "
+ row_TELEPHONE2 + " TEXT, "
+ row_TELEPHONE3 + " TEXT, "
+ row_TELEPHONE4 + " TEXT, "
+ row_TELEPHONE5 + " TEXT;";
db_name.execSQL(CREATE_TABLE);我尝试插入以下数据:
姓名:阿赫拉姆·M·侯赛因
电子邮件: ahlam@ahlam.ahlam
网址: www.ahlam.com
telephone#1: 123456789
telephone#2: 0987654321
telephone#3:
telephone#4:
telephone#5:
使用以下字符串:
String sql_entry = String.format("Insert into %s (%s, %s, %s, %s, %s, %s, %s, %s) values (%s, %s, %s, %s, %s, %s, %s, %s);",tab_NAME, row_NAME, row_EMAIL, row_WEBSITE, row_TELEPHONE1, row_TELEPHONE2, row_TELEPHONE3, row_TELEPHONE4, row_TELEPHONE5, name, email, website, telephone1, telephone2, telephone3,telephone4, telephone5);
ourDatabase.execSQL(sql_entry);其中:( row_NAME, row_EMAIL, row_WEBSITE, row_TELEPHONE1, row_TELEPHONE2, row_TELEPHONE3, row_TELEPHONE4, row_TELEPHONE5)是列名
和:(name, email, website, telephone1, telephone2, telephone3,telephone4, telephone5)是要插入到数据库的数据
当我运行应用程序时,我得到一个错误消息:
SQLiteLog (1) near "M" : syntax error那么问题出在哪里呢?
发布于 2012-12-21 21:44:31
用单引号将非数字值引起来。
String sql_entry = String.format("Insert into %s (%s, %s, %s, %s, %s, %s, %s, %s)"
+" values ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')",
tab_NAME, row_NAME, row_EMAIL, row_WEBSITE, row_TELEPHONE1, row_TELEPHONE2,
row_TELEPHONE3, row_TELEPHONE4, row_TELEPHONE5, name, email, website,
telephone1, telephone2, telephone3,telephone4, telephone5);发布于 2012-12-21 21:44:30
您遗漏了包含字符串的'字符...
查询应为:
Insert into %s (%s, %s, %s, %s, %s, %s, %s, %s) values ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s');因此,创建查询字符串本身应该如下所示:
String sql_entry = String.format("Insert into %s (%s, %s, %s, %s, %s, %s, %s, %s) values ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s');",
tab_NAME, row_NAME, row_EMAIL, row_WEBSITE, row_TELEPHONE1, row_TELEPHONE2, row_TELEPHONE3, row_TELEPHONE4, row_TELEPHONE5,
name, email, website, telephone1, telephone2, telephone3,telephone4, telephone5);顺便说一句,在开发应用程序时,我总是在不使用框架的情况下记录我创建的SQL查询-很容易犯这样的错误。
https://stackoverflow.com/questions/13991224
复制相似问题