SQLite Android Data Update

2

How to get the information that is on the screen and do a Update in the database.

Code that displays information in EditText.

public class DatabasesDAO extends SQLiteOpenHelper {

private static final String DATABASE = "baseteste";
private static final int VERSAO = 1;
private static final String TAG = "Teste";

private SQLiteDatabase db;

private ConfiguracoesSistema teste;

public DatabasesDAO(Context context) {
    super(context, DATABASE, null, VERSAO);
}


public Configuracao buscarConfiguracoes() {
    // Variável para utilizar a query no Cursor
    String sql = "select * from dj_tb_sis";
    // Objeto que recebe os registros do Banco de Dados
    Cursor cursor = getReadableDatabase().rawQuery(sql, null);
    // Instância do objeto que será retornado
    Configuracao configuracao = new Configuracao();

    // Carrega os atributos do Banco de Dados
    if (cursor.moveToNext()) {
        configuracao.setCodigoSistema(cursor.getLong(0));
        configuracao.setNomeEmpresa(cursor.getString(1));
        configuracao.setEnderecoEmpresa(cursor.getString(2));
        configuracao.setCidade(cursor.getString(3));
        configuracao.setTelefoneEmpresa(cursor.getString(4));
        configuracao.setCodigoEmpresa(cursor.getString(5));
        configuracao.setNumeroIP(cursor.getString(6));
        configuracao.setUsuarioFTP(cursor.getString(7));
        configuracao.setSenhaFTP(cursor.getString(8));
        configuracao.setPortaFTP(cursor.getString(9));
        configuracao.setCaminhoImportFTP(cursor.getString(10));
        configuracao.setCaminhoExportFTP(cursor.getString(11));
    }

    cursor.close();

    return configuracao;
}

If the user changed some field he wanted it already to update in the database.

Code of my Activity that displays the fields and refresh button given.

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

    razaoSocial = (EditText) findViewById(R.id.edtRazaoSocial);
    enderecoEmpresa = (EditText) findViewById(R.id.edtEndereco);
    cidade = (EditText) findViewById(R.id.edtCidade);
    telefoneEmpresa = (EditText) findViewById(R.id.edtTelefone);
    codigoEmpresa = (EditText) findViewById(R.id.edtQualEmpresa);
    numeroIP = (EditText) findViewById(R.id.edtEnderecoIP);
    usuarioFTP = (EditText) findViewById(R.id.edtUsuarioFTP);
    senhaFTP = (EditText) findViewById(R.id.edtSenhaFTP);
    portaFTP = (EditText) findViewById(R.id.edtPortaFTP);
    caminhoImportFTP = (EditText) findViewById(R.id.edtCaminhoImportar);
    caminhoExportFTP = (EditText) findViewById(R.id.edtCaminhoExportar);

    dao = new DatabasesDAO(this);

    Configuracao configuracao = dao.buscarConfiguracoes();
    razaoSocial.setText(configuracao.getNomeEmpresa().toString());
    enderecoEmpresa.setText(configuracao.getEnderecoEmpresa().toString());
    cidade.setText(configuracao.getCidade().toString());

    telefoneEmpresa.setText(configuracao.getTelefoneEmpresa().toString());
    codigoEmpresa.setText(configuracao.getCodigoEmpresa().toString());
    numeroIP.setText(configuracao.getNumeroIP().toString());
    usuarioFTP.setText(configuracao.getUsuarioFTP().toString());
    senhaFTP.setText(configuracao.getSenhaFTP().toString());
    portaFTP.setText(configuracao.getPortaFTP().toString());
    caminhoImportFTP.setText(configuracao.getCaminhoImportFTP().toString());
    caminhoExportFTP.setText(configuracao.getCaminhoExportFTP().toString());

    // Button btnAtualiza = (Button) findViewById(R.id.btnAtualizarDados);
}

Here's what I tried to mount to do the Update.

public int update(Configuracao config) throws Exception {
        SQLiteDatabase sqlLite = new DatabasesDAO(teste).getWritableDatabase();

        ContentValues content = new ContentValues();

                content.put("t_nom_emp", config.getNomeEmpresa());
                content.put("t_end_emp", config.getEnderecoEmpresa());

                String where = "u_cod_sis = ?";

                String argumentos[] = { config.getNomeEmpresa() };

        return sqlLite.update("dj_tb_sis", content, where, argumentos);
    }
    
asked by anonymous 14.04.2014 / 16:05

1 answer

2

How to get the variable to EditText within the event that triggers the update, for example:

Button btnAtualiza;

@Override
protected void onCreate(Bundle savedInstanceState) {

   ...
   btnAtualiza = (Button) findViewById(R.id.btnAtualizarDados);
}

@Override
public void onClick(View v) {

    if (v == btnAtualiza) { //o teu botão de atualizar o formulário

         String razaoS = razaoSocial.getText().toString();

         ...
         update(/*variáveis*/);
    }        
}
    
14.04.2014 / 16:40