2015-03-25 16 views
0

我想使用dbadapter將2個字符串中的值插入到表中。
我可以將一個名爲'inputparticulars'的字符串插入名爲
的列爲'TX_PARTICULARS'。如何在另一個字符串
'inputamount'中插入另一個值到同一行中名爲'TX_AMOUNT'的另一列。如何使用dbadapter將多個字符串插入到sqlite表中

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

您需要將這兩個值傳遞給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); 
} 
0

或者作爲@Alex Chengalan說,但你應該更好地傳遞一個對象作爲參數,然後在您的插入方法獲得的屬性,就像這樣:

這將是你的普通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; 
} 
} 

而在你的方法插入到數據庫:

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); 
} 

所以你可以發ee,你只需要在你的Pojo(Object Class)中創建屬性,然後在你的列表中調用你想要分配的方法。

P.D. 我建議瞭解一些ORM for android,GreenDao很好,而且很容易。

問候。

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; 
} 
相關問題