[RESOLVIDO]no such table - Inserir dados em duas tabelas

4 respostas
E

Estou fazendo insert em duas tabelas , porém esta dando erro abaixo :

no such table: CADMESDIA (code 1): , while compiling: INSERT INTO CADMESDIA(CADMESDIA_DATE,CADMES_ID,CADMESDIA_TYPE) VALUES (?,?,?)

alguém pode me ajudar ??

public class DataBase extends SQLiteOpenHelper{

    public DataBase(Context context) {
        super(context,"CADAULA",null,1);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(ScriptSQL.getCreateCadmes());
        db.execSQL(ScriptSQL.getCreateCadmesDia());

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }
}


-----
public class ScriptSQL {

    public static String getCreateCadmes(){
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("CREATE TABLE IF NOT EXISTS CADMES ( ");
        stringBuilder.append("_id                INTEGER       NOT NULL ");
        stringBuilder.append("PRIMARY KEY AUTOINCREMENT, ");
        stringBuilder.append("CAD_NAME           VARCHAR (100) ");
        stringBuilder.append("); ");

        return  stringBuilder.toString();
    }

    public static String getCreateCadmesDia(){
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("CREATE TABLE IF NOT EXISTS CADMESDIA ( ");
        stringBuilder.append("_id                INTEGER       NOT NULL ");
        stringBuilder.append("PRIMARY KEY AUTOINCREMENT, ");
        stringBuilder.append("CADMES_ID INTEGER NOT NULL, ");
        stringBuilder.append(" CADMESDIA_TYPE VARCHAR(100) NOT NULL, ");
        stringBuilder.append(" CADMESDIA_DATE DATE DEFAULT NULL ");

        stringBuilder.append("); ");

        return  stringBuilder.toString();
    }

}




...

public class RepositorioContato {


    private SQLiteDatabase conn;


    public RepositorioContato(SQLiteDatabase conn) {

        this.conn = conn;

    }


    public void testeInsertContatos(){

        long valueId=0;
        long valueIddia=0;
        ContentValues values = new ContentValues();
        values.put("CAD_NAME", "JANEIRO");
        valueId= conn.insertOrThrow(Cadmes.TABELA, null, values);

        Date data=new Date();


        ContentValues valuesdia = new ContentValues();
        valuesdia.put("CADMES_ID", valueId);
        valuesdia.put("CADMESDIA_TYPE", "aula solo");
        valuesdia.put("CADMESDIA_DATE", data.getTime());
        valueIddia= conn.insertOrThrow(Cadmesdia.TABELA, null, valuesdia);
}

4 Respostas

Marky.Vasconcelos

Cade o código que você instancia o DBHelper?

E

O meu activate principal :

public class actCadastroAula extends AppCompatActivity {

    private RepositorioContato repositorioContato;
    private DataBase dataBase;
    private SQLiteDatabase conn;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_act_cadastro_aula);

        try {
            dataBase = new DataBase(this);
            conn = dataBase.getWritableDatabase();
            repositorioContato = new RepositorioContato(conn);

            repositorioContato.testeInsertContatos();
        } catch (SQLException ex){
            AlertDialog.Builder dlg= new AlertDialog.Builder(this);
            dlg.setMessage("ERROOOOOOO");
            dlg.setNeutralButton("OK", null);
            dlg.show();
        }


    }
A

Olá, tudo indica que o db foi criado com a tabela CADMES apenas.

E

apaguei o aplicativo do emulador e deu certo.

obrigado a todos.

Criado 7 de outubro de 2015
Ultima resposta 8 de out. de 2015
Respostas 4
Participantes 3