我正在存储用户在SQLite数据库中注册应用程序时输入的信息,但应用程序崩溃时出现错误,这似乎是在我提交电子邮件地址时发生的。如果这是原因,你能告诉我如何纠正它吗?如果没有,请告诉我正确的理由和解决方案。
我的java文件:
var = var<<32;
编辑:添加错误日志
答案 0 :(得分:1)
尝试通过以下功能将数据插入数据库,并仔细检查是否真的创建了电子邮件字段。以下功能只是一个例子。
SELECT * FROM hour_dev_data WHERE device = X AND event_time < YYYY
答案 1 :(得分:1)
您的核心错误是对于插入查询,您没有用引号括起要插入的值。在构建之后,您的查询看起来像这样:
insert into TABLE values(whatever@gmail.com)
什么时候应该是这样的:
insert into TABLE values('whatever@gmail.com')
在尝试解析当前查询时,SQL解析器会窒息,因为语法不正确。
尝试使用准备好的SQL查询,例如:
String sql = "INSERT INTO table_name (column_1, column_2) VALUES (?, ?)";
SQLiteStatement statement = db.compileStatement(sql);
int intValue = 57;
String stringValue = "hello";
statement.bindLong(1, intValue); // These match to the two question marks in the sql string
statement.bindString(2, stringValue);
long rowId = statement.executeInsert();
或者甚至可以更好地使用SQLiteOpenHelper来执行此操作,例如:
ContentValues insertValues = new ContentValues();
insertValues.put("EMAIL", "example@mail.com");
db.insert("CashData", null, insertValues);
答案 2 :(得分:1)
String query = "INSERT INTO USERS VALUES(" + name +"," + uname + ",'" + email + "'," + password + "," + mobile + ");";
试试这段代码。 在单引号之间添加''。
希望有所帮助