我想使用dbadapter将2个字符串中的值插入表中
我可以插入一个名为' inputparticulars'到名为
的列
作为' TX_PARTICULARS'。如何从另一个字符串中插入另一个值
' inputamount'到另一列名为' TX_AMOUNT'在同一行。
public void onTxClick(View v) {
String inputparticulars = particulars.getText().toString();
String inputamount = amount.getText().toString();
ContentValues contentvalues = new ContentValues();
vivzHelper.insertTxData(inputparticulars);
}
public long insertTxData(String inputparticulars) {
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues contentvalues = new ContentValues();
contentvalues.put(VivzHelper.TX_PARTICULARS, inputparticulars);
//contentvalues.put(VivzHelper.TX_AMOUNT, inputamount);
contentvalues.put(VivzHelper.TX_DATE, Calendar.DATE);
long id = db.insert(VivzHelper.TX_TABLE, null, contentvalues);
return id;
}
答案 0 :(得分:0)
您需要将这两个值传递给insertTxData
方法。所以你可以这样改变你的方法。
public void insertTxData(String inputparticulars, String inputamount) {
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues contentvalues = new ContentValues();
contentvalues.put(VivzHelper.TX_PARTICULARS,inputparticulars);
contentvalues.put(VivzHelper.TX_AMOUNT, inputamount);
contentvalues.put(VivzHelper.TX_DATE, Calendar.DATE);
db.insert(VivzHelper.TX_TABLE, null, contentvalues );
db.insert(VivzHelper.TX_AMOUNT, null, inputamount);
}
答案 1 :(得分:0)
或者正如@Alex Chengalan所说,但你应该更好地传递一个对象作为参数,然后在你的insert方法中获取属性,如下所示:
这将是您的普通旧Java对象(POJO)
public class YourObject{
String YourId,YourString;
public YourObject(String YourId, String YourString) {
super();
this.YourId= YourId;
this.YourString= YourString;
}
public String getYourId() {
return YourId;
}
public void setYourId(String YourId) {
this.YourId= YourId;
}
public String getYourString() {
return YourString;
}
public void setYourString(String YourString) {
this.YourString= YourString;
}
}
在你的方法中插入DB:
public void insertEntry(YourObject obj)
{
ContentValues newValues = new ContentValues();
// Assign values for each row.
newValues.put("dbField1", obj.getYourID());
newValues.put("dbField2", obj.getYourString());
db.insert(table, null, newValues);
}
正如您所看到的,您只需要在Pojo(对象类)中创建属性,然后只需在列的表中调用要分配的方法。
Pd积。 我建议学习一些ORM for android,GreenDao很好,而且很容易。
问候。
答案 2 :(得分:0)
只需将对象数组传递给方法即可。例如:
public long insertTxData(String[] inputs) {
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues contentvalues = new ContentValues();
contentvalues.put(VivzHelper.TX_PARTICULARS, inputs[0]);
contentvalues.put(VivzHelper.TX_AMOUNT, inputs[1]);
//....other parameters
contentvalues.put(VivzHelper.TX_DATE, Calendar.DATE);
long id = db.insert(VivzHelper.TX_TABLE, null, contentvalues);
return id;
}