12-09-2014, 21:25
Olá pessoal, sou programador em Delphi e estou começando agora com Android.
E naum consigo chamar uma classe que criei para acessar o banco de dados a partir da minha Activity principal.
se alguem poder me ajudar, agradeço muito. Naum sei mais o que fazer.
Classe criada:
package br.com.mkl.navegandotelas;
import android.app.AlertDialog;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.text.Editable;
public class MKLBD {
String bdnome = "base001";
Cursor tbClientes;
SQLiteDatabase banco;
AlertDialog.Builder mensagem;
Context context;
public MKLBD(Context context){
this.context = context;
mensagem = new AlertDialog.Builder(null);
}
public void CriaOuAbreBanco(){
String sql;
sql = "CREATE TABLE IF NOT EXISTS Clientes ( numero INTEGER PRIMARY KEY, "
+ "nome TEXT, endereco TEXT, bairro TEXT, fone TEXT, fone2 TEXT )";
try{
banco = SQLiteDatabase.openOrCreateDatabase(bdnome, null);
banco.execSQL(sql);
tbClientes = banco.query("Clientes", null, null, null, null, null, null);
tbClientes.moveToFirst();
} catch(SQLException erro){
ExibeMsg("Erro ao criar Banco ! "+erro);
}
}
public void ExibeMsg(String Mensagem){
mensagem.setMessage(Mensagem);
mensagem.setNeutralButton("OK", null);
mensagem.show();
}
public void Inserir(Editable nome, Editable enderco, Editable bairro, Editable fone, Editable fone2){
String sql;
int num;
num = RecNo();
num++;
sql = "INSERT INTO Clientes(numero, nome, endereco, bairro, fone, fone2)" +
" VALUES ("+num+", "+nome+", "+enderco+", "+bairro+", "+fone+", "+fone2+")";
try {
banco.execSQL(sql);
ExibeMsg("Registro salvo com sucesso!!!");
}
catch(Exception erro){
ExibeMsg("Erro ao salvar registro !"+erro);
}
}
public int RecNo(){
int Num;
try{
Num = tbClientes.getCount();
return Num;
}
catch (Exception erro){
ExibeMsg("Erro ao contar registros ! "+erro);
return 0;
}
}
}
Chamada na Activity:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dados = new MKLBD(this);
dados.CriaOuAbreBanco();
}
Ai apresenta a erro e não roda o programa.
Obrigado pessoal!!
E naum consigo chamar uma classe que criei para acessar o banco de dados a partir da minha Activity principal.
se alguem poder me ajudar, agradeço muito. Naum sei mais o que fazer.
Classe criada:
package br.com.mkl.navegandotelas;
import android.app.AlertDialog;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.text.Editable;
public class MKLBD {
String bdnome = "base001";
Cursor tbClientes;
SQLiteDatabase banco;
AlertDialog.Builder mensagem;
Context context;
public MKLBD(Context context){
this.context = context;
mensagem = new AlertDialog.Builder(null);
}
public void CriaOuAbreBanco(){
String sql;
sql = "CREATE TABLE IF NOT EXISTS Clientes ( numero INTEGER PRIMARY KEY, "
+ "nome TEXT, endereco TEXT, bairro TEXT, fone TEXT, fone2 TEXT )";
try{
banco = SQLiteDatabase.openOrCreateDatabase(bdnome, null);
banco.execSQL(sql);
tbClientes = banco.query("Clientes", null, null, null, null, null, null);
tbClientes.moveToFirst();
} catch(SQLException erro){
ExibeMsg("Erro ao criar Banco ! "+erro);
}
}
public void ExibeMsg(String Mensagem){
mensagem.setMessage(Mensagem);
mensagem.setNeutralButton("OK", null);
mensagem.show();
}
public void Inserir(Editable nome, Editable enderco, Editable bairro, Editable fone, Editable fone2){
String sql;
int num;
num = RecNo();
num++;
sql = "INSERT INTO Clientes(numero, nome, endereco, bairro, fone, fone2)" +
" VALUES ("+num+", "+nome+", "+enderco+", "+bairro+", "+fone+", "+fone2+")";
try {
banco.execSQL(sql);
ExibeMsg("Registro salvo com sucesso!!!");
}
catch(Exception erro){
ExibeMsg("Erro ao salvar registro !"+erro);
}
}
public int RecNo(){
int Num;
try{
Num = tbClientes.getCount();
return Num;
}
catch (Exception erro){
ExibeMsg("Erro ao contar registros ! "+erro);
return 0;
}
}
}
Chamada na Activity:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dados = new MKLBD(this);
dados.CriaOuAbreBanco();
}
Ai apresenta a erro e não roda o programa.
Obrigado pessoal!!