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
Note: populateFields is the method where I am getting error. Asa the activity starts the populateField method is called to fill the fields.
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();
}
}
}
The Logcat file
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)