【发布时间】:2016-12-04 21:30:54
【问题描述】:
我正在创建一个登录应用程序,我想在每个用户单击注册按钮时为他们创建一个表。问题是,我使用他们唯一的电子邮件 ID 作为表名。后来我才知道表名不能有“@”之类的特殊字符。请建议我一种方法来创建名称具有特殊字符(如“@”)的表。或者,请建议我在每个用户单击注册按钮时为每个用户创建具有唯一名称的表的方法。
请注意:下面给出的代码中的“TABLE_NAME”是另一个包含注册用户详细信息的表。
代码如下:
public boolean insertData(String name, String email, String mobile, String pass){
SQLiteDatabase db = this.getWritableDatabase();
db.execSQL("create table "+email+"(Choice TEXT, Q1 INTEGER, Q2 INTEGER, Q3 INTEGER, Q4 INTEGER, Q5 INTEGER)");
ContentValues cv = new ContentValues();
cv.put(NAME, name);
cv.put(EMAIL, email);
cv.put(MOBILE, mobile);
cv.put(PASSWORD, pass);
long result = db.insert(TABLE_NAME,null,cv);
db.close();
if(result == -1)
return false;
else
return true;
}
【问题讨论】:
标签: android mysql sql database sqlite