如何在String
数据库中存储SQLite
?
String et11 = et1.getText().toString();
String et22 = et2.getText().toString();
db.execSQL("INSERT INTO ZAKHIRE (USER , PAS) VALUES ( " + et11 + et22 +")");
db.close();
答案 0 :(得分:2)
DbHelper dbHelper = new DbHelper(getApplicationContext());
String name = mName.getText().toString().trim();
String pass = mPasswd.getText().toString().trim();
dbHelper.insertRecord(name, pass);
这是在DBhelper中扩展SQLiteOpenHelper的覆盖方法 类。
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE " + TABLE_NAME + "("
+ Name + " TEXT,"
+ Password + " TEXT)";
db.execSQL(sql);
}
void insertRecord(String name, String password) {
dataBase = getWritableDatabase();
values = new ContentValues();
values.put(Name, name);
values.put(Password, password);
Log.e("Values are ", String.valueOf(values));
dataBase.insert(TABLE_NAME, null, values);
dataBase.close();
}
答案 1 :(得分:1)
INSERT INTO ZAKHIRE (USER , PAS) VALUES
说插入一个新行,其中 USER 和 PAS 列是 2 VALUES < / strong>括在括号内,用逗号分隔。
假设et11的值为FRED且et22的值为PASSWORD,则VALUES ( " + et11 + et22 +")"
等于VALUES (FREDPASSWORD)
,即只有一个值。
但是,要插入字符串,必须将字符串括在单引号中(数字不必括在单引号中)。
通过将字符串括在单引号中形成字符串常量 (&#39)。字符串中的单引号可以通过放置两个来编码 连续单引号 - 如Pascal。 C风格逃脱使用 不支持反斜杠字符,因为它们不是标准字符 SQL。
使用上面的示例,您需要 VALUES ('FRED','PASSWORD')
所以要解决这个问题,你需要 a)用逗号分隔这两个值, b)用引号括起这两个字符串。
所以你可以使用: -
db.execSQL("INSERT INTO ZAKHIRE (USER , PAS) VALUES( '" + et11 + "','" + et22 + ")");
insert
方法)是更好的方法;它基本上为你构建SQL,引用字符串和添加逗号等。