Error when inserting registration: "No such table" - can anyone help me?

0

I'm developing the registry for my application, however I'm having an error when registering (insert function), an error that I can not solve, it's in the image:

Classrecord:

privateEditTextUsuário;privateEditTextSenha;privateEditTextCsenha;privateEditTextTelefone;privateEditTextEmail;privateSQLiteDatabaseconexao;privateClienteRepositorioclienteRepositorio;privateDadosOpenHelperdadosOpenHelper;privateRelativeLayoutLayoutRegistro;privateClientecliente;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_registro);setTitle("Registro");
    Toolbar toolbar = (Toolbar)  findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    Usuário = (EditText)findViewById(R.id.Usuário);
    Senha = (EditText)findViewById(R.id.Senha);
    Csenha = (EditText)findViewById(R.id.CSenha);
    Telefone = (EditText)findViewById(R.id.Telefone);
    Email = (EditText)findViewById(R.id.Email);

    LayoutRegistro =  (RelativeLayout)findViewById(R.id.LayoutRegistro);
    criarConexao();

    Button b1 =(Button)findViewById(R.id.Cancelar);
    Button b2 =(Button)findViewById(R.id.Registrar);
    b1.setOnClickListener(this);
    b2.setOnClickListener(this);

}

private void criarConexao(){
    try{
        dadosOpenHelper = new DadosOpenHelper(this);
        conexao = dadosOpenHelper.getWritableDatabase();
        Snackbar.make(LayoutRegistro, R.string.message_conexao_criada_com_sucesso, Snackbar.LENGTH_SHORT)
        .setAction(R.string.action_ok,null).show();

        clienteRepositorio = new ClienteRepositorio(conexao);

    }catch (SQLException ex){

        AlertDialog.Builder dlg = new AlertDialog.Builder(this);
        dlg.setTitle("Erro");
        dlg.setMessage(ex.getMessage());
        dlg.setNeutralButton(R.string.action_ok,null);
        dlg.show();

    }
}

private void confirmar(){

    cliente = new Cliente();

    if (validaCampos() == false) {

        try {
            clienteRepositorio.inserir(cliente);
            finish();

        } catch (SQLException ex) {

            AlertDialog.Builder dlg = new AlertDialog.Builder(this);
            dlg.setTitle("Erro");
            dlg.setMessage(ex.getMessage());
            dlg.setNeutralButton(R.string.action_ok, null);
            dlg.show();
        }
    }

}


private boolean validaCampos(){

    boolean res = false;

    String usuário  = Usuário.getText().toString();
    String senha    = Senha.getText().toString();
    String csenha   = Csenha.getText().toString();
    String telefone = Telefone.getText().toString();
    String email    = Email.getText().toString();

    cliente.usuário  = usuário;
    cliente.senha    = senha;
    cliente.csenha   = csenha;
    cliente.telefone = telefone;
    cliente.email    = email;

    if (res = isCampoVazio(usuário)){
        Usuário.requestFocus();

    }else if (res = isCampoVazio(senha)){
        Senha.requestFocus();

    }else if (res = isCampoVazio(csenha)){
        Csenha.requestFocus();

    }else if (res = isCampoVazio(telefone)){
        Telefone.requestFocus();

    }else if (res = !isEmailValido(email)){
        Email.requestFocus();

    }if (res){
        AlertDialog.Builder dlg = new AlertDialog.Builder(this);
        dlg.setTitle(R.string.title_aviso);
        dlg.setMessage(R.string.message_campos_invalidos_brancos);
        dlg.setNeutralButton(R.string.lbl_ok,null);
        dlg.show();
    }

    return res;


}

private boolean isCampoVazio(String valor){
    boolean resultado = (TextUtils.isEmpty(valor) || valor.trim().isEmpty());
    return resultado;

}

private boolean isEmailValido(String Email){
    boolean resultado = (!isCampoVazio(Email) && Patterns.EMAIL_ADDRESS.matcher(Email).matches());
    return resultado;
}


public void onClick(View v){
    int id = v.getId();
    switch(v.getId()){
        case R.id.Registrar:
            confirmar();
            break;

        case R.id.Cancelar:
            Toast.makeText(getBaseContext(), "Botao cancelar funcionou", Toast.LENGTH_LONG).show();
            break;

    }

}

Script (from sqlite database):

public static String getCreateTableCliente(){

    StringBuilder sql = new StringBuilder();

    sql.append("CREATE TABLE CLIENTE ( ");
    sql.append("    CODIGO   INTEGER       PRIMARY KEY AUTOINCREMENT,");
    sql.append("    USUÁRIO  VARCHAR (60)  NOT NULL, " );
    sql.append("    SENHA    VARCHAR (255) NOT NULL, ");
    sql.append("    CSENHA   VARCHAR (255) NOT NULL, ");
    sql.append("    TELEFONE VARCHAR (20)  NOT NULL, ");
    sql.append("    EMAIL    VARCHAR (200) NOT NULL); ");

    return sql.toString();

}

class ClientRepository:

private SQLiteDatabase conexao;

public ClienteRepositorio(SQLiteDatabase conexao) {
    this.conexao = conexao;
}

public void inserir(Cliente cliente){
    ContentValues contentValues = new ContentValues();
    contentValues.put("USUÁRIO", cliente.usuário);
    contentValues.put("SENHA", cliente.senha);
    contentValues.put("CSENHA", cliente.csenha);
    contentValues.put("TELEFONE", cliente.telefone);
    contentValues.put("EMAIL", cliente.email);

    conexao.insertOrThrow("CLIENTE", null, contentValues);

}

public void excluir(int codigo){

    String[] parametros = new String[1];
    parametros[0] = String.valueOf(codigo);

    conexao.delete("CLIENTE", "CODIGO = ?", parametros);

}

public void alterar(Cliente cliente){
    ContentValues contentValues = new ContentValues();
    contentValues.put("USUÁRIO", cliente.usuário);
    contentValues.put("SENHA", cliente.senha);
    contentValues.put("CSENHA", cliente.csenha);
    contentValues.put("TELEFONE", cliente.telefone);
    contentValues.put("EMAIL", cliente.email);

        String[] parametros = new String[1];
        parametros[0] = String.valueOf(cliente.codigo);

    conexao.update("CLIENTE", contentValues, "CODIGO = ?", parametros);

}

public List<Cliente> buscarTodos(){

    List<Cliente> clientes = new ArrayList<Cliente>();

    StringBuilder sql = new StringBuilder();
    sql.append(" SELECT CODIGO, USUÁRIO, SENHA, CSENHA, TELEFONE, EMAIL ");
    sql.append("   FROM CLIENTE ");

    Cursor resultado = conexao.rawQuery(sql.toString(),null);

    if (resultado.getCount() > 0){
        resultado.moveToFirst();

        do {

            Cliente cli = new Cliente();

            cli.codigo   = resultado.getInt(resultado.getColumnIndexOrThrow("CODIGO"));
            cli.usuário  = resultado.getString(resultado.getColumnIndexOrThrow("USUÁRIO"));
            cli.senha    = resultado.getString(resultado.getColumnIndexOrThrow("SENHA"));
            cli.csenha   = resultado.getString(resultado.getColumnIndexOrThrow("CSENHA"));
            cli.telefone = resultado.getString(resultado.getColumnIndexOrThrow("TELEFONE"));
            cli.email    = resultado.getString(resultado.getColumnIndexOrThrow("EMAIL"));

            clientes.add(cli);

        }while(resultado.moveToNext());
    }

    return clientes;

}

public Cliente BuscarCliente(int codigo){

    Cliente cliente = new Cliente();

    StringBuilder sql = new StringBuilder();
    sql.append("SELECT CODIGO, USUÁRIO, SENHA, CSENHA, TELEFONE, EMAIL");
    sql.append("FROM CLIENTE");
    sql.append("WHERE CODIGO ?");

    String[] parametros = new String[1];
    parametros[0] = String.valueOf(codigo);

    Cursor resultado = conexao.rawQuery(sql.toString(),parametros);

    if (resultado.getCount() > 0){
        resultado.moveToFirst();

        cliente.codigo = resultado.getInt(resultado.getColumnIndexOrThrow("CODIGO"));
        cliente.usuário = resultado.getString(resultado.getColumnIndexOrThrow("USUÁRIO"));
        cliente.senha = resultado.getString(resultado.getColumnIndexOrThrow("SENHA"));
        cliente.csenha = resultado.getString(resultado.getColumnIndexOrThrow("CSENHA"));
        cliente.telefone = resultado.getString(resultado.getColumnIndexOrThrow("TELEFONE"));
        cliente.email = resultado.getString(resultado.getColumnIndexOrThrow("EMAIL"));

        return cliente;
    }

    return null;
}
}

Can someone help me?

    
asked by anonymous 26.10.2017 / 03:10

0 answers