mercredi 9 septembre 2015

Android SQLite issue - table xxxx has no column named yyyyy

I'm trying to insert data to sqlite database in android.i'm getting this error on the LogCat output:i'm new to android sqlite. ".09-10 09:55:38.855: E/SQLiteLog(7735): (1) table lots_farmertoagentcollection has no column named entrydatetime"

This is my code

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mButt=(Button)findViewById(R.id.button1);

        mDSLCode="a1";

        mButt.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub

                submitData();
            }

        });

    }
private void submitData()
    {
        try {


        String VndCode=mFarmer_codetxt.getText().toString();
        String ltrs=mLtrs.getText().toString();
        String metrolac=mtext.getText().toString();
        final String mdrq=mDRQ.getText().toString();
        Calendar c = Calendar.getInstance();
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String submitedDate = df.format(c.getTime());



        insertLC(VndCode, ltrs, metrolac, mdrq, mDSLCode, submitedDate, null, null);

        DbBackup.copyDatabase(getApplicationContext());


        } catch (Exception e) {
            // TODO: handle exception
        }
    }
    public void insertLC(String vendorcode,String lotsquantity,String metrolacreading,String drq,String dslprogrammecode,String entrydatetime,String remarks,String status) {
        // TODO Auto-generated method stub
        mDbA= new DBAdapter(this);
        mDbA.open();
        try {
            long i = mDbA.insertLC(vendorcode, lotsquantity, metrolacreading, drq, dslprogrammecode, entrydatetime, remarks, status);
            if(i != -1){
        Toast.makeText(MainActivity.this, "Data Recorded",Toast.LENGTH_LONG).show();
            }
        } catch (SQLException e) {
            Toast.makeText(MainActivity.this, "Some problem occurred",
                    Toast.LENGTH_LONG).show();

        }
        mDbA.close();
    }

DBA Adapter class

public class DBAdapter 
{
private static final String FARMER_TO_AGENT_COLLECTION_TABLE = "lots_farmertoagentcollection";
    public static final String FARMER_TO_AGENT_KEY_FA_ID = "fa_id";
    public static final String FARMER_TO_AGENT_KEY_VC= "vendorcode";
    public static final String FARMER_TO_AGENT_KEY_LQ= "lotsquantity";
    public static final String FARMER_TO_AGENT_KEY_MR= "metrolacreading";
    public static final String FARMER_TO_AGENT_KEY_DRQ= "drq";
    public static final String FARMER_TO_AGENT_KEY_DPC= "dslprogrammecode";
    public static final String FARMER_TO_AGENT_KEY_EDT= "entrydatetime";
    public static final String FARMER_TO_AGENT_KEY_RE= "remarks";
    public static final String FARMER_TO_AGENT_KEY_STS= "status";

public long insertLC(String vendorcode,String lotsquantity,String metrolacreading,String drq,String dslprogrammecode,String entrydatetime,String remarks,String status)
    {
        ContentValues initialValues = new ContentValues();
        initialValues.put(FARMER_TO_AGENT_KEY_VC, vendorcode);
        initialValues.put(FARMER_TO_AGENT_KEY_LQ, lotsquantity);
        initialValues.put(FARMER_TO_AGENT_KEY_MR, metrolacreading);
        initialValues.put(FARMER_TO_AGENT_KEY_DRQ, drq);
        initialValues.put(FARMER_TO_AGENT_KEY_DPC, dslprogrammecode);
        initialValues.put(FARMER_TO_AGENT_KEY_EDT, entrydatetime);
        initialValues.put(FARMER_TO_AGENT_KEY_RE, remarks);
        initialValues.put(FARMER_TO_AGENT_KEY_STS, status);

        return  mDb.insert(FARMER_TO_AGENT_COLLECTION_TABLE, null, initialValues);

    }
}

DBHelper class

public class DBHelper extends SQLiteOpenHelper {

    private static final String DATABASE_NAME = "NEW.db";
    private static final int DATABASE_VERSION = 1;

    private static final String CONFIGURATIONS_TABLE = "configurations";
    public static final String CONFIG_KEY_ID = "id";
    public static final String CONFIG_KEY_KEY = "token";
    public static final String CONFIG_KEY_VALUE= "val";

    private static final String FARMER_TO_AGENT_COLLECTION_TABLE = "lots_farmertoagentcollection";
    public static final String FARMER_TO_AGENT_KEY_FA_ID = "fa_id";
    public static final String FARMER_TO_AGENT_KEY_VC= "vendorcode";
    public static final String FARMER_TO_AGENT_KEY_LQ= "lotsquantity";
    public static final String FARMER_TO_AGENT_KEY_MR= "metrolacreading";
    public static final String FARMER_TO_AGENT_KEY_DRQ= "drq";
    public static final String FARMER_TO_AGENT_KEY_DPC= "dslprogrammecode";
    public static final String FARMER_TO_AGENT_KEY_EDT= "entrydatetime";
    public static final String FARMER_TO_AGENT_KEY_RE= "remarks";
    public static final String FARMER_TO_AGENT_KEY_STS= "status";

private static final String CREATE_FARMER_TO_AGENT_COLLECTION_TABLE = "CREATE TABLE "+FARMER_TO_AGENT_COLLECTION_TABLE+"  ("+FARMER_TO_AGENT_KEY_FA_ID+" integer primary key autoincrement,"+FARMER_TO_AGENT_KEY_VC+" varchar,"+FARMER_TO_AGENT_KEY_LQ+" varchar,"+FARMER_TO_AGENT_KEY_MR+" varchar,"+FARMER_TO_AGENT_KEY_DRQ+" varchar,"+FARMER_TO_AGENT_KEY_DPC+" varchar,"+FARMER_TO_AGENT_KEY_EDT+" varchar,"+FARMER_TO_AGENT_KEY_RE+" varchar,"+FARMER_TO_AGENT_KEY_STS+" varchar);";

@Override
    public void onCreate(SQLiteDatabase db) {

        db.execSQL(CREATE_FARMER_TO_AGENT_COLLECTION_TABLE);
}
}

or please give me working sqlite insert full code.it's more helpful to me.

Aucun commentaire:

Enregistrer un commentaire