0
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import java.util.ArrayList;
public class DBHelper extends SQLiteOpenHelper {
private static final int VERSAO_BANCO = 1;
private static final String NOME_BANCO = "CONTROLE_DE_ESTOQUE";
private static final String TABELA_PRODUTOS = "produtos";
private static final String ID = "_id";
private static final String DESCRICAO = "descricao";
private static final String CATEGORIA = "categoria";
private static final String UNIDADEMEDIDA = "unidadeMedida";
private static final String ESTOQUE_ATUAL = "estoqueAtual";
private static final String ESTOQUE_MINIMO = "estoqueMinimo";
private static final String VALOR_CUSTO = "valorCusto";
private static final String VALOR_VENDA = "valorVenda";
private static final String[] COLUNAS = {TABELA_PRODUTOS};
public DBHelper(Context context) {
super(context, NOME_BANCO, null, VERSAO_BANCO);
}
@Override
public void onCreate(SQLiteDatabase db) {
String QUERY_USUARIO = "CREATE TABLE TABELA_USUARIOS (_ID integer primary key autoincrement, nomeUsuario TEXT, senha TEXT);";
db.execSQL(QUERY_USUARIO);
String QUERY_PRODUTO = "CREATE TABLE TABELA_PRODUTOS (_ID integer primary key autoincrement, descricao TEXT, categoria TEXT," +
" unidadeMedida TEXT, valorCusto TEXT, valorVenda TEXT, estoqueAtual TEXT, estoqueMinimo TEXT);";
db.execSQL(QUERY_PRODUTO);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS TABELA_USUARIOS;");
onCreate(db);
}
public long CriarUsuario(String nomeUsuario, String senha) {
SQLiteDatabase db = getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("nomeusuario", nomeUsuario);
cv.put("senha", senha);
long result = db.insert("TABELA_USUARIOS", null, cv);
return result;
}
public String ValidarUsuario(String nomeUsuario, String senha) {
SQLiteDatabase db = getReadableDatabase();
Cursor c = db.rawQuery("SELECT * FROM TABELA_USUARIOS WHERE nomeUsuario=? AND senha=?", new String[]{nomeUsuario, senha});
if (c.getCount() > 0) {
return "OK";
}
return "ERRO";
}
public long CriarProduto(Produto produto) {
SQLiteDatabase db = getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(DESCRICAO, produto.getDescricao());
cv.put(CATEGORIA, produto.getCategoria());
cv.put(UNIDADEMEDIDA, produto.getUnidadeMedida());
cv.put(ESTOQUE_ATUAL, produto.getEstoqueAtual());
cv.put(ESTOQUE_MINIMO, produto.getEstoqueMinimo());
cv.put(VALOR_CUSTO, produto.getValorCusto());
cv.put(VALOR_VENDA, produto.getValorVenda());
long result = db.insert("TABELA_PRODUTOS", null, cv);
return result;
}
public Produto getProduto(int id) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABELA_PRODUTOS, // a. tabela
COLUNAS, // b. colunas
" id = ?", // c. colunas para comparar
new String[] { String.valueOf(id) }, // d. parâmetros
null, // e. group by
null, // f. having
null, // g. order by
null); // h. limit
if (cursor == null) {
return null;
} else {
cursor.moveToFirst();
Produto produto = cursorToProduto(cursor);
return produto;
}
}
private Produto cursorToProduto(Cursor cursor) {
Produto produto = new Produto();
produto.setId(Integer.parseInt(cursor.getString(0)));
produto.setDescricao(cursor.getString(1));
produto.setCategoria(cursor.getString(2));
produto.setUnidadeMedida(cursor.getString(3));
produto.setValorCusto(Integer.parseInt(cursor.getString(4)));
produto.setEstoqueAtual(Integer.parseInt(cursor.getString(5)));
return produto;
}
public ArrayList<Produto> getAllProdutos() {
ArrayList<Produto> listaProdutos = new ArrayList<Produto>();
String query = "SELECT * FROM " + TABELA_PRODUTOS;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(query, null);
if (cursor.moveToFirst()) {
do {
Produto produto = cursorToProduto(cursor);
listaProdutos.add(produto);
} while (cursor.moveToNext());
}
return listaProdutos;
}
public int updateProduto(Produto produto) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(DESCRICAO, produto.getDescricao());
cv.put(CATEGORIA, produto.getCategoria());
cv.put(UNIDADEMEDIDA, produto.getUnidadeMedida());
cv.put(ESTOQUE_ATUAL, produto.getEstoqueAtual());
cv.put(ESTOQUE_MINIMO, produto.getEstoqueMinimo());
cv.put(VALOR_CUSTO, produto.getValorCusto());
cv.put(VALOR_VENDA, produto.getValorVenda());
int i = db.update(TABELA_PRODUTOS, //tabela
cv, // valores
ID+" = ?", // colunas para comparar
new String[] { String.valueOf(produto.getId()) }); //parâmetros
db.close();
return i; // número de linhas modificadas
}
public int deleteAluno(Produto produto) {
SQLiteDatabase db = this.getWritableDatabase();
int i = db.delete(TABELA_PRODUTOS, //tabela
ID+" = ?", // colunas para comparar
new String[] { String.valueOf(produto.getId()) });
db.close();
return i; // número de linhas excluídas
}
This is my Database class.
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
public class CadastroProduto extends AppCompatActivity {
Spinner spnFornecedor, spnUMedida;
EditText edtDescricao, edtCategoria, edtVCusto, edtVVenda, edtEAtual, edtEMinimo;
Button btnNFornecedor, btnCadastrar02;
DBHelper db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cadastro_produto);
db = new DBHelper(this);
spnFornecedor = (Spinner) findViewById(R.id.spnFornecedor);
spnUMedida = (Spinner) findViewById(R.id.spnUMedida);
edtDescricao = (EditText) findViewById(R.id.edtDescricao);
edtCategoria = (EditText) findViewById(R.id.edtCategoria);
edtVCusto = (EditText) findViewById(R.id.edtVCusto);
edtVVenda = (EditText) findViewById(R.id.edtVVenda);
edtEAtual = (EditText) findViewById(R.id.edtEAtual);
edtEMinimo = (EditText) findViewById(R.id.edtEMinimo);
btnNFornecedor = (Button) findViewById(R.id.btnNFornecedor);
btnCadastrar02 = (Button) findViewById(R.id.btnCadastrar02);
ArrayAdapter adapterUM = ArrayAdapter.createFromResource (this,R.array.unidade_medida, android.R.layout.simple_spinner_item);
spnUMedida.setAdapter(adapterUM);
btnCadastrar02.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Produto produto = new Produto();
//String fornecedor = spnFornecedor.getSelectedItem().toString();
/*produto.setUnidadeMedida(spnUMedida.getSelectedItem().toString());
produto.setDescricao(edtDescricao.getText().toString());
produto.setCategoria(edtCategoria.getText().toString());
produto.setValorCusto (Double.parseDouble(edtVCusto.getText().toString()));
produto.setValorVenda(Double.parseDouble(edtVVenda.getText().toString()));
produto.setEstoqueAtual(Integer.parseInt(edtEAtual.getText().toString()));
produto.setEstoqueMinimo(Integer.parseInt(edtEMinimo.getText().toString()));*/
String unidadeMedida = spnUMedida.getSelectedItem().toString();
String descricao = edtDescricao.getText().toString();
String categoria = edtCategoria.getText().toString();
String valorCusto = edtVCusto.getText().toString();
String valorVenda = edtVVenda.getText().toString();
String estoqueAtual = edtEAtual.getText().toString();
String estoqueMinimo = edtEMinimo.getText().toString();
if (descricao.equals("") || categoria.equals("") || valorCusto.equals("") || valorVenda.equals("") || estoqueAtual.equals("") || estoqueMinimo.equals("")/*edtDescricao.getText().toString().equals(null) && edtCategoria.getText().toString().equals(null) || edtVCusto.getText().toString().equals(null)
|| edtVVenda.getText().toString().equals(null) || edtEAtual.getText().toString().equals(null) || edtEMinimo.getText().toString().equals(null)*/) {
Toast.makeText(CadastroProduto.this, "Campos não preenchidos, tente novamente", Toast.LENGTH_SHORT).show();
}
else {
long res = db.CriarProduto(produto);
if (res>0){
Toast.makeText(CadastroProduto.this, "Produto cadastrado", Toast.LENGTH_SHORT).show();
Intent i = new Intent (CadastroProduto.this, Produtos.class);
startActivity(i);
}else {
Toast.makeText(CadastroProduto.this, "Cadastro invalido, tente novamente", Toast.LENGTH_SHORT).show();
}
}
}
});
}
This is the class I’m trying to record the data in the call table TABELA_PRODUTOS
, the question is this: the application is even creating the table of products, but is not saving the data inserted in the fields of the registration screen!
Unfortunately it didn’t work out, but thank you.
– R. Oliveira