Note that there are some explanatory texts on larger screens.

plurals
  1. POColumn does not exist : Illegal Argument Exception in Android app
    text
    copied!<p>In the below activity-The user has to enter the defined fields. Once the entry has been made, user can edit the changes and save.However in my app the entries are successfully getting inserted in to database but while editing the same fields I get an illegal argument exception that website_1 column doesn't exist, though I checked in the database the column exists.Thanks in advance</p> <p>Note: populateFields is the method where I am getting error. Asa the activity starts the populateField method is called to fill the fields.</p> <pre><code>public class Newform_Screen2_Likewebsite_edit extends Activity { EditText w1,c1,w2,c2,w3,c3; Button btn_save; private String srowId; DBAdapter dba; SQLiteDatabase myDB; private Context context; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.newform_screen2_websites); dba=new DBAdapter(this); context=Newform_Screen2_Likewebsite_edit.this; final Intent intent = getIntent(); srowId=intent.getStringExtra("KEYROWID"); myDB=DBAdapter.openDatabase(context, DBAdapter.DATABASE_NAME); w1=(EditText)findViewById(R.id.www1_web_id); w2=(EditText)findViewById(R.id.www2_web_id); w3=(EditText)findViewById(R.id.www3_web_id); c1=(EditText)findViewById(R.id.color1_id); c2=(EditText)findViewById(R.id.color2_id); c3=(EditText)findViewById(R.id.color3_id); btn_save=(Button)findViewById(R.id.btn_save_web); populateFields(); btn_save.setOnClickListener(new OnClickListener(){ public void onClick(View v) { n2(); n1(); } private void n2() { dba = new DBAdapter(Newform_Screen2_Likewebsite_edit.this); String s1=w1.getText().toString(); String s2=w2.getText().toString(); String s3=w3.getText().toString(); String s4=c1.getText().toString(); String s5=c2.getText().toString(); String s6=c3.getText().toString(); String updatequery = "UPDATE "+ DBAdapter.DATABASE_TABLE+ " SET "; updatequery = updatequery + DBAdapter.KEY_WEBSITE_1+" = '" + s1 +"',"; updatequery = updatequery + DBAdapter.KEY_WEBSITE_2+" = '" + s2 + "',"; updatequery = updatequery + DBAdapter.KEY_WEBSITE_3+" = '" + s3 + "',"; updatequery = updatequery + DBAdapter.KEY_COLOR_1+" = '" + s4 + "',"; updatequery = updatequery + DBAdapter.KEY_COLOR_2+" = '" + s5 + "',"; updatequery = updatequery + DBAdapter.KEY_COLOR_3+" = '"+s6+"'"; updatequery = updatequery + " WHERE _id = '" + srowId + "';"; Log.v("updatequery-new-likewebsite-edit",updatequery); try{ Log.v("test-2","update"); dba.open(); myDB.execSQL(updatequery); }catch(NullPointerException e){ e.getMessage(); }finally{ Log.v("test-3","update"); if(myDB != null)myDB.close(); dba.close(); } } private void Log(String string) { Log.i("Activity-check",""+string); } private void n1() { Intent I = new Intent(Newform_Screen2_Likewebsite_edit.this,Newform_Screen2_edit.class); I.putExtra("rowid", srowId); startActivity(I); } }); } private void populateFields() { dba.open(); if (srowId != null) { Log.v("rowid",srowId.toString()); long mRowId=Long.parseLong(srowId); Cursor cur = dba.fetchSaleseditdetails(mRowId); startManagingCursor(cur); try{ Log.v("test populate","test populate"); w1.setText(cur.getString(cur.getColumnIndexOrThrow(DBAdapter.KEY_WEBSITE_1))); w2.setText(cur.getString(cur.getColumnIndexOrThrow(DBAdapter.KEY_WEBSITE_2))); w3.setText(cur.getString(cur.getColumnIndexOrThrow(DBAdapter.KEY_WEBSITE_3))); c1 .setText(cur.getString(cur.getColumnIndexOrThrow(DBAdapter.KEY_COLOR_1))); c2.setText(cur.getString(cur.getColumnIndexOrThrow(DBAdapter.KEY_COLOR_2))); c3.setText(cur.getString(cur.getColumnIndexOrThrow(DBAdapter.KEY_COLOR_3))); } catch(Exception e){ e.printStackTrace(); } } dba.close(); } protected void onDestroy() { super.onDestroy(); if (dba != null) { dba.close(); } if (myDB != null) { myDB.close(); } } } </code></pre> <p>The Logcat file</p> <pre><code> 02-22 10:49:29.717: W/System.err(20723): java.lang.IllegalArgumentException: column 'website_1' does not exist 02-22 10:49:29.717: W/System.err(20723): at android.database.AbstractCursor.getColumnIndexOrThrow(AbstractCursor.java:302) 02-22 10:49:29.717: W/System.err(20723): at com.example.exa_sales_new.Newform_Screen2_Likewebsite_edit.populateFields(Newform_Screen2_Likewebsite_edit.java:135) 02-22 10:49:29.717: W/System.err(20723): at com.example.exa_sales_new.Newform_Screen2_Likewebsite_edit.onCreate(Newform_Screen2_Likewebsite_edit.java:48) 02-22 10:49:29.717: W/System.err(20723): at android.app.Activity.performCreate(Activity.java:5008) 02-22 10:49:29.717: W/System.err(20723): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079) 02-22 10:49:29.717: W/System.err(20723): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023) 02-22 10:49:29.717: W/System.err(20723): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 02-22 10:49:29.717: W/System.err(20723): at android.app.ActivityThread.access$600(ActivityThread.java:130) 02-22 10:49:29.717: W/System.err(20723): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) 02-22 10:49:29.717: W/System.err(20723): at android.os.Handler.dispatchMessage(Handler.java:99) 02-22 10:49:29.717: W/System.err(20723): at android.os.Looper.loop(Looper.java:137) 02-22 10:49:29.717: W/System.err(20723): at android.app.ActivityThread.main(ActivityThread.java:4745) 02-22 10:49:29.717: W/System.err(20723): at java.lang.reflect.Method.invokeNative(Native Method) 02-22 10:49:29.717: W/System.err(20723): at java.lang.reflect.Method.invoke(Method.java:511) 02-22 10:49:29.717: W/System.err(20723): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 02-22 10:49:29.717: W/System.err(20723): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 02-22 10:49:29.717: W/System.err(20723): at dalvik.system.NativeStart.main(Native Method) </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload