i am getting data from my Service and when trying to insert into TABLE i am getting exception....While my first row is correctly printing on Log and just after that error : error is on this LOC: db.execSQL(query); public class ProgramDBHelperActivity extends Activity {
Context context;
SQLiteDatabase db;
private void getParametersData(String parameter)
{
try
{
String getParametersData_String = ServerRequest1.sendRequest(url,parameter);
String[] getParametersData_Str_Array = getParametersData_String.split("<br />");
for(int i=0;i<getParametersData_Str_Array.length;i++)
{
Log.i("getParametersData_Str_Array :",getParametersData_Str_Array[i]);
String query = "INSERT INTO parameterTable(ID,param_type,cash_code,param_description) " + "VALUES ("+getParametersData_Str_Array[i]+");";
Log.i("query result",""+query);
db.execSQL(query);
Log.i("news Save", "" + db);
}
}
catch (JSONException e)
{
errorMessage = getString(R.string.ExceptionGeneral);
ExceptionHandler.logException(e);
e.printStackTrace();
}
catch (SocketException e) {
errorMessage = getString(R.string.ExceptionNetworkProblem);
ExceptionHandler.logException(e);
e.printStackTrace();
} catch (IOException e) {
errorMessage = getString(R.string.ExceptionGeneral);
ExceptionHandler.logException(e);
e.printStackTrace();
} catch (Exception e) {
errorMessage = getString(R.string.ExceptionGeneral);
ExceptionHandler.logException(e);
e.printStackTrace();
}
}
HERE IS THE LOG:
12-19 04:39:42.234: I/query result(4772): INSERT INTO parameterTable(ID,param_type,cash_code,param_description) VALUES (1,"product group","12345","Service Spares"); 12-19 04:39:42.234: W/System.err(4772): java.lang.NullPointerException 12-19 04:39:42.234: W/System.err(4772): at com.survey.management.activity.ProgramDBHelperActivity$ReqGetParameter.getParametersData(ProgramDBHelperActivity.java:146) 12-19 04:39:42.234: W/System.err(4772): at com.survey.management.activity.ProgramDBHelperActivity$ReqGetParameter.doInBackground(ProgramDBHelperActivity.java:128) 12-19 04:39:42.234: W/System.err(4772): at com.survey.management.activity.ProgramDBHelperActivity$ReqGetParameter.doInBackground(ProgramDBHelperActivity.java:1) 12-19 04:39:42.234: W/System.err(4772): at android.os.AsyncTask$2.call(AsyncTask.java:287) 12-19 04:39:42.239: W/System.err(4772): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 12-19 04:39:42.239: W/System.err(4772): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 12-19 04:39:42.239: W/System.err(4772): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 12-19 04:39:42.239: W/System.err(4772): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 12-19 04:39:42.239: W/System.err(4772): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 12-19 04:39:42.239: W/System.err(4772): at java.lang.Thread.run(Thread.java:856) 12-19 04:39:42.239: W/System.err(4772): java.io.FileNotFoundException: /storage/sdcard0/taplaw.log: open failed: EACCES (Permission denied) 12-19 04:39:42.239: W/System.err(4772): at libcore.io.IoBridge.open(IoBridge.java:416) 12-19 04:39:42.239: W/System.err(4772): at java.io.FileOutputStream.(FileOutputStream.java:88) 12-19 04:39:42.239: W/System.err(4772): at com.survey.management.util.ExceptionHandler.logException(ExceptionHandler.java:55) 12-19 04:39:42.239: W/System.err(4772): at com.survey.management.activity.ProgramDBHelperActivity$ReqGetParameter.getParametersData(ProgramDBHelperActivity.java:167) 12-19 04:39:42.239: W/System.err(4772): at com.survey.management.activity.ProgramDBHelperActivity$ReqGetParameter.doInBackground(ProgramDBHelperActivity.java:128) 12-19 04:39:42.239: W/System.err(4772): at com.survey.management.activity.ProgramDBHelperActivity$ReqGetParameter.doInBackground(ProgramDBHelperActivity.java:1) 12-19 04:39:42.239: W/System.err(4772): at android.os.AsyncTask$2.call(AsyncTask.java:287) 12-19 04:39:42.239: W/System.err(4772): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 12-19 04:39:42.239: W/System.err(4772): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 12-19 04:39:42.239: W/System.err(4772): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 12-19 04:39:42.244: W/System.err(4772): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 12-19 04:39:42.244: W/System.err(4772): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 12-19 04:39:42.244: W/System.err(4772): at java.lang.Thread.run(Thread.java:856) 12-19 04:39:42.244: W/System.err(4772): Caused by: libcore.io.ErrnoException: open failed: EACCES (Permission denied) 12-19 04:39:42.244: W/System.err(4772): at libcore.io.Posix.open(Native Method) 12-19 04:39:42.244: W/System.err(4772): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110) 12-19 04:39:42.244: W/System.err(4772): at libcore.io.IoBridge.open(IoBridge.java:400) 12-19 04:39:42.244: W/System.err(4772): ... 12 more 12-19 04:39:42.244: W/System.err(4772): java.lang.NullPointerException 12-19 04:39:42.244: W/System.err(4772): at com.survey.management.activity.ProgramDBHelperActivity$ReqGetParameter.getParametersData(ProgramDBHelperActivity.java:146) 12-19 04:39:42.244: W/System.err(4772): at com.survey.management.activity.ProgramDBHelperActivity$ReqGetParameter.doInBackground(ProgramDBHelperActivity.java:128) 12-19 04:39:42.244: W/System.err(4772): at com.survey.management.activity.ProgramDBHelperActivity$ReqGetParameter.doInBackground(ProgramDBHelperActivity.java:1) 12-19 04:39:42.244: W/System.err(4772): at android.os.AsyncTask$2.call(AsyncTask.java:287) 12-19 04:39:42.244: W/System.err(4772): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 12-19 04:39:42.244: W/System.err(4772): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 12-19 04:39:42.244: W/System.err(4772): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 12-19 04:39:42.244: W/System.err(4772): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 12-19 04:39:42.244: W/System.err(4772): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 12-19 04:39:42.244: W/System.err(4772): at java.lang.Thread.run(Thread.java:856)
dbis null - the code doesn't show where it is declared/initialized.execSQL, useinsertinstead. > developer.android.com/reference/android/database/sqlite/…