Android将多行插入sqlite表

时间:2013-12-16 11:02:10

标签: android sqlite

大家好,我想一次向我的sqlite表插入多条记录,

这是我尝试过的:

DBHelper.class

   public void insertToOUTTRANS(ArrayList<String> arrListDocumentNumber){
            ContentValues cv = new ContentValues();

            for(String text : arrListDocumentNumber){
                cv.put(KEY_DOCUMENTNUMBER, text);
            }
            myDataBase.insert(TBL_OUTTRANS, cv, null);
        }

但我在这一行中遇到错误:

  myDataBase.insert(TBL_OUTTRANS, cv, null);

错误说:

 The method insert(String, String, ContentValues) in the type SQLiteDatabase is not applicable for the arguments (String, ContentValues, null)

MainActivity.class:

  for(int i = 0; i< arrDocumentNumber.length; i++) {
    ArrayList<String> arrListDocumentNumber = new ArrayList<String>();
    ArrayList<String> arrListUnitOfMeasure = new ArrayList<String>();
    ArrayList<String> arrListLocationCode = new ArrayList<String>();

            arrListDocumentNumber.put(tvItemCode.getText().toString());
            arrListUnitOfMeasure.put(editText1.getText().toString));
            arrListLocationCode.put(editText1.getText().toString));

   }

但我有点困惑如何循环光标以检查列表视图中的所有项目以保存到我的表格中。有任何想法吗?我很乐意感谢你的帮助。感谢。

3 个答案:

答案 0 :(得分:3)

试试这个

for(int i=0;i<arrListDocumentNumber.size();i++)
{
    ContentValues initialValues=new ContentValues();
    initialValues.put(KEY_DOCUMENTNUMBER, arrListDocumentNumber.get(i));
    db.insert(TBL_OUTTRANS, null, initialValues);
}

答案 1 :(得分:1)

insert方法看起来像..

insert(String, String, ContentValues)

所以你需要传递arguments之类的..

myDataBase.insert(TBL_OUTTRANS, null, cv);  

检查syntax here

答案 2 :(得分:0)

 myDataBase.insert(TBL_OUTTRANS, null, cv);

而不是

 myDataBase.insert(TBL_OUTTRANS, cv, null);