Android 在SQLITE数据库中保存StringBuilder
我似乎无法将stringbuilder保存到数据库文件中。我不明白ContentValues.putAll是如何工作的,因为我认为这就是我需要解决问题的方法。这是与问题相关的代码 我想我需要做的是在我的主要活动中有一个变量,它存储“etNameString”和“strReturnedAddress”,然后存储在“DatabaseOperations.updateDatabase()”中。。我需要有以下声明: args.putAll(值) 但我不知道如何将这两个值保存在一个变量中。请原谅我的天真,我对这件事还很陌生。提前谢谢 插入行方法:Android 在SQLITE数据库中保存StringBuilder,android,sqlite,android-sqlite,stringbuilder,Android,Sqlite,Android Sqlite,Stringbuilder,我似乎无法将stringbuilder保存到数据库文件中。我不明白ContentValues.putAll是如何工作的,因为我认为这就是我需要解决问题的方法。这是与问题相关的代码 我想我需要做的是在我的主要活动中有一个变量,它存储“etNameString”和“strReturnedAddress”,然后存储在“DatabaseOperations.updateDatabase()”中。。我需要有以下声明: args.putAll(值) 但我不知道如何将这两个值保存在一个变量中。请原谅我的天真,
**DatabaseOperations class**
public void updateDatabase(String Name, StringBuilder Address) {
SQLiteDatabase myDB = this.getWritableDatabase();
ContentValues args = new ContentValues();
args.put(COL_1, Name);
args.put(COL_2, Address);
myDB.insert(TABLE_NAME, null, args);
Log.d("Database Operations", "Entry Successful");
}
使用参数调用updateDatabase:(strReturnedAddress在Unshawn代码中定义)
设置我的数据库:
**DatabaseOperations class**
public static final String DATABASE_NAME = "HDL_DB";
public static final String TABLE_NAME = "HDL_Table";
public static final String COL_1 = "Name";
public static final String COL_2 = "Address";
public String CREATE = "CREATE TABLE " + TABLE_NAME + " (" +
COL_1 + " TEXT" + COL_2 + " TEXT)";
两个问题。用户Yazan在评论中提到的一个字符串,您应该使用
args.put(COL_2,Address.toString())从StringBuilder
获取该字符串代码>
第二个问题是数据库操作类中的字符串CREATE
。两个列名之间没有任何分隔符(请注意第一个文本后的逗号和空格):
试试这个args.put(COL_2,Address.toString())代码>,检查logcat是否有任何错误。非常感谢您的帮助!非常感谢!我非常感谢您对我的问题的帮助:)
**DatabaseOperations class**
public static final String DATABASE_NAME = "HDL_DB";
public static final String TABLE_NAME = "HDL_Table";
public static final String COL_1 = "Name";
public static final String COL_2 = "Address";
public String CREATE = "CREATE TABLE " + TABLE_NAME + " (" +
COL_1 + " TEXT" + COL_2 + " TEXT)";
public String CREATE = "CREATE TABLE " + TABLE_NAME + " (" +
COL_1 + " TEXT, " + COL_2 + " TEXT)";