我有文件列表&值列表。我想使用DBAdapter插入记录。我尝试从此链接http://mfarhan133.wordpress.com/2010/10/24/database-crud-tutorial-for-android/
DBAdapter dbAdapter = DBAdapter.getDBAdapterInstance(Insert.this);
dbAdapter.openDataBase();
ContentValues initialValues = new ContentValues();
initialValues.put("name", etName.getText().toString());
initialValues.put("age", etAge.getText().toString());
long n = dbAdapter.insertRecordsInDB("user", null, initialValues);
Toast.makeText(Insert.this, "new row inserted with id = " + n, Toast.LENGTH_SHORT).show();
请有人帮我如何发送字段&他们在运行时的价值。请尽快帮助我
答案 0 :(得分:0)
您可以将字段设为字符串数组&它们的值也是数组。例如:
String[] strToFields = new String[names.length()];
String[] strToFieldsVal = new String[names.length()];
for (int k = 0; k < names.length(); k++) {
strToFields[k] = names.getString(k);
strToFieldsVal[k]=strVal;
}
调用方法就像 insertTableRecords(actualtable,strToFields,strToFieldsVal);
方法应该是:
public void insertTableRecords(String strTableName, String[] strToFields, String[] strValues){
DBAdapter dbAdapter = DBAdapter.getDBAdapterInstance(DownlaodTableActivity.this);
dbAdapter.openDataBase();
ContentValues initialValues = new ContentValues();
for(int i=0 ;i<strToFields.length;i++){
initialValues.put(strToFields[i],strValues[i]);
}
long n = dbAdapter.insertRecordsInDB(strTableName, null, initialValues);
System.out.println( " -- inserted status : --- " + n);
}
如果您需要更多帮助,请参阅此Android sqlite dynamic insert query