I initialize my variables as follows:
String separator = "" ;
String insertQuery1 = "INSERT INTO " + PhoneContactsTable.TABLE_PHONE_CONTACTS + " (" +
PhoneContactsTable.KEY_NAME +"," + PhoneContactsTable.KEY_PH_NO +","
+ PhoneContactsTable.KEY_SNID +","+ PhoneContactsTable.KEY_EMAIL +") VALUES " ;
StringBuilder insertQuery2 = new StringBuilder();
I generate insertQuery2 (stringbuilder) as follows:
try
{
JSONArray jsonArray = new JSONArray(returndResultForSNID);
for(int i = 0; i < jsonArray.length(); i++)
{
snid = jsonArray.getJSONObject(i).getString("snid");
insertQuery2.append(separator).append("('").append(contactNameArr.get(i).toString()).append("','").append(contactPhoneNumberArr.get(i).toString()).append("','")
.append(snid).append("',").append("''").append(")");
separator = "," ;
}
}
catch (Exception e)
{
System.out.println( "Could not parse malformed JSONArray: " + e.toString() );
}
I create the last line as insertQuery3, which is inserted into the database:
try
{
String insertQuery3 = insertQuery1 + (insertQuery2.toString()).toString();
phoneContactsDAO.open(false);
phoneContactsDAO.addFullStringToDb(insertQuery3);
phoneContactsDAO.close();
}
catch (Exception e)
{
System.out.println( "Could not added into database: " + e.toString() );
}
My database query is as follows:
public void addFullStringToDb(String insertQuery3)
{
database.execSQL(insertQuery3);
}
This code worked in 4 phones. But does not work on the 5th device
source
share