Я пытаюсь вставить все свои проверенные значения флажков в каждую строку в mysql дБ, после того, как флажки установлены, это значение будет вставлено в базу данных с непрерывной вставкой строк. Это мой код, но я не уверен с вставкой arraylist l oop
List<String> boxes = new ArrayList<>();
private class Insert extends AsyncTask<String, String, String>
{
TextView mssg = (TextView) findViewById(R.id.message);
String cb = String.valueOf(app);
CheckBox cbapp = (CheckBox) findViewById(R.id.cb_approver);
String msg = "";
@Override
protected void onPreExecute() {
}
protected String doInBackground(String... strings) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(urls, user, pass);
if (conn == null) {
msg = "Connection went wrong";
} else if(conn!=null) {
String query = "INSERT INTO module_pivot (userID,modID,deptID,formsID) VALUES (99,1,?,0)";
PreparedStatement prep = conn.prepareStatement(query);
for (int i=0;i<boxes.size();i++) {
prep.setString((i), boxes.get(i));
}
prep.executeUpdate();
msg = "Inserted!";
}
} catch (Exception e) {
msg = "Sql query error";
e.printStackTrace();
}
return msg;
}
@Override
protected void onPostExecute(String msg) {
mssg.setText(msg);
}
}
Вот значение флажка arraylist, список отделов
public void onCheck(View view){
boolean checked = ((CheckBox)view).isChecked();
switch (view.getId()){
case R.id.cbObra:
if (checked)
boxes.add("15");
else
boxes.remove("15");
break;
case R.id.cbBus:
if (checked)
boxes.add("14");
else
boxes.remove("14");
break;
case R.id.cbHR:
if (checked)
boxes.add("11");
else
boxes.remove("11");
break;
case R.id.cbIT:
if (checked)
boxes.add("4");
else
boxes.remove("4");
break;
case R.id.cbMan:
if (checked)
boxes.add("7");
else
boxes.remove("7");
break;
case R.id.cbFin:
if (checked)
boxes.add("10");
else
boxes.remove("10");
break;
case R.id.cbPM:
if (checked)
boxes.add("12");
else
boxes.remove("12");
break;
case R.id.cbCC:
if (checked)
boxes.add("84");
else
boxes.remove("84");
break;
}
}