Boa noite pessoal estou com um probleminha na inserção segue o erro do logcat e as classes
12-11 21:09:28.586: E/Database(330): Error inserting data_bensservicos=2012-12-11 valor_benservicos=566.0 nome_bensservicos=android.widget.ArrayAdapter@4054d220
12-11 21:09:28.586: E/Database(330): android.database.sqlite.SQLiteException: no such table: BensServicos: , while compiling: INSERT INTO BensServicos(data_bensservicos, valor_benservicos, nome_bensservicos) VALUES(?, ?, ?);
12-11 21:09:28.586: E/Database(330): at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
12-11 21:09:28.586: E/Database(330): at android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:92)
12-11 21:09:28.586: E/Database(330): at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:65)
12-11 21:09:28.586: E/Database(330): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:83)
12-11 21:09:28.586: E/Database(330): at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:41)
12-11 21:09:28.586: E/Database(330): at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1149)
12-11 21:09:28.586: E/Database(330): at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1569)
12-11 21:09:28.586: E/Database(330): at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1426)
12-11 21:09:28.586: E/Database(330): at com.prototipo.bensservicos.BensServicosDao.insert(BensServicosDao.java:33)
12-11 21:09:28.586: E/Database(330): at com.prototipo.bensservicos.BensServicos$1.onClick(BensServicos.java:58)
12-11 21:09:28.586: E/Database(330): at android.view.View.performClick(View.java:2485)
12-11 21:09:28.586: E/Database(330): at android.view.View$PerformClick.run(View.java:9080)
12-11 21:09:28.586: E/Database(330): at android.os.Handler.handleCallback(Handler.java:587)
12-11 21:09:28.586: E/Database(330): at android.os.Handler.dispatchMessage(Handler.java:92)
12-11 21:09:28.586: E/Database(330): at android.os.Looper.loop(Looper.java:123)
12-11 21:09:28.586: E/Database(330): at android.app.ActivityThread.main(ActivityThread.java:3683)
12-11 21:09:28.586: E/Database(330): at java.lang.reflect.Method.invokeNative(Native Method)
12-11 21:09:28.586: E/Database(330): at java.lang.reflect.Method.invoke(Method.java:507)
12-11 21:09:28.586: E/Database(330): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
12-11 21:09:28.586: E/Database(330): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12-11 21:09:28.586: E/Database(330): at dalvik.system.NativeStart.main(Native Method)
12-11 21:09:28.586: E/Database(330): Error inserting data_bensservicos=2012-12-11 valor_benservicos=566.0 nome_bensservicos=android.widget.ArrayAdapter@4054d220
12-11 21:09:28.586: E/Database(330): android.database.sqlite.SQLiteException: no such table: BensServicos: , while compiling: INSERT INTO BensServicos(data_bensservicos, valor_benservicos, nome_bensservicos) VALUES(?, ?, ?);
12-11 21:09:28.586: E/Database(330): at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
12-11 21:09:28.586: E/Database(330): at android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:92)
12-11 21:09:28.586: E/Database(330): at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:65)
12-11 21:09:28.586: E/Database(330): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:83)
12-11 21:09:28.586: E/Database(330): at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:41)
12-11 21:09:28.586: E/Database(330): at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1149)
12-11 21:09:28.586: E/Database(330): at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1569)
12-11 21:09:28.586: E/Database(330): at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1426)
12-11 21:09:28.586: E/Database(330): at com.prototipo.bensservicos.BensServicosDao.insert(BensServicosDao.java:33)
12-11 21:09:28.586: E/Database(330): at com.prototipo.bensservicos.BensServicos$1.onClick(BensServicos.java:58)
12-11 21:09:28.586: E/Database(330): at android.view.View.performClick(View.java:2485)
12-11 21:09:28.586: E/Database(330): at android.view.View$PerformClick.run(View.java:9080)
12-11 21:09:28.586: E/Database(330): at android.os.Handler.handleCallback(Handler.java:587)
12-11 21:09:28.586: E/Database(330): at android.os.Handler.dispatchMessage(Handler.java:92)
12-11 21:09:28.586: E/Database(330): at android.os.Looper.loop(Looper.java:123)
12-11 21:09:28.586: E/Database(330): at android.app.ActivityThread.main(ActivityThread.java:3683)
12-11 21:09:28.586: E/Database(330): at java.lang.reflect.Method.invokeNative(Native Method)
12-11 21:09:28.586: E/Database(330): at java.lang.reflect.Method.invoke(Method.java:507)
12-11 21:09:28.586: E/Database(330): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
12-11 21:09:28.586: E/Database(330): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12-11 21:09:28.586: E/Database(330): at dalvik.system.NativeStart.main(Native Method)
Minha Activity
package com.prototipo.bensservicos;
import java.util.Calendar;
import com.prototipo.activity.Principal;
import com.prototipo1.R;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
public class BensServicos extends Activity {
private static final String[] opcoes = {"Pretação do carro","IPVA","Seguro do carro","Plano de saúde/odontológico","Faculdade e colégio","Plano de previdência","Outras Despesas"};
static final int DATE_DIALOG_ID = 0;
private Button btnIncluirBensServicos;
private Button btnVoltarBensServicos;
private DatePicker dtpDataBensServicos;
private EditText edtxtValorBensServicos;
private Spinner spnBensServicos;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.bensservicos);
ArrayAdapter <String> oopcoes = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, opcoes);
btnIncluirBensServicos = (Button) findViewById(R.id.btnIncluirBensServicos);
btnVoltarBensServicos = (Button) findViewById(R.id.btnVoltarBensServicos);
dtpDataBensServicos = (DatePicker)findViewById(R.id.dtpDataBensServicos);
edtxtValorBensServicos = (EditText)findViewById(R.id.edtxtValorBensServicos);
spnBensServicos = (Spinner)findViewById(R.id.spnBensServicos);
spnBensServicos.setAdapter(oopcoes);
btnIncluirBensServicos.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
BensServicosVO vo = new BensServicosVO();
vo.setNome_bensservicos(spnBensServicos.getAdapter().toString());
vo.setValor_benservicos(Float.valueOf(edtxtValorBensServicos.getText().toString()));
int dia = dtpDataBensServicos.getDayOfMonth();
int mes = dtpDataBensServicos.getMonth();
int ano = dtpDataBensServicos.getYear();
vo.setData_bensservicos(String.valueOf(ano)+"-"+String.valueOf(mes+1) +"-"+String.valueOf(dia));
BensServicosDao dao = new BensServicosDao(getBaseContext());
if(dao.insert(vo)){
Toast.makeText(getBaseContext(), "Você incluiu despesa com sucesso", Toast.LENGTH_SHORT).show();
finish();
}
//startActivity(new Intent(getBaseContext(), Principal.class));
}
});
btnVoltarBensServicos.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startActivity(new Intent(getBaseContext(), Principal.class));
}
});
}
}
Minha Classe DAO
package com.prototipo.bensservicos;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.prototipo.activity.Db;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
//Classe responsável pela persistência dos dados
public class BensServicosDao {
private static String table_name = "BensServicos";
private static Context ctxt;
private static String[] columns = { "id_bensservicos", "codigo_despesa",
"nome_bensservicos", "valor_benservicos", "data_bensservicos" };
public BensServicosDao(Context ctxt) {
this.ctxt = ctxt;
}
// método que realiza inserção no banco
public boolean insert(BensServicosVO vo) {
SQLiteDatabase db = new Db(ctxt).getWritableDatabase();
ContentValues ctv = new ContentValues();
ctv.put("nome_bensservicos", vo.getNome_bensservicos());
ctv.put("valor_benservicos", vo.getValor_benservicos());
ctv.put("data_bensservicos", vo.getData_bensservicos().toString());
return db.insert(table_name, null, ctv) > 0;
}
// método que realiza exclusão no banco
public boolean delete(BensServicosVO vo) {
SQLiteDatabase db = new Db(ctxt).getWritableDatabase();
return (db.delete(table_name, "id_bensservicos=?", new String[] { vo
.getId_bensservicos().toString() }) > 0);
}
// método que realiza alteração no banco
public boolean update(BensServicosVO vo) {
SQLiteDatabase db = new Db(ctxt).getWritableDatabase();
ContentValues ctv = new ContentValues();
ctv.put("nome_bensservicos", vo.getNome_bensservicos());
ctv.put("valor_benservicos", vo.getValor_benservicos());
ctv.put("data_bensservicos", vo.getData_bensservicos().toString());
return db.update(table_name, ctv, "id_bensservicos?", new String[] { vo
.getId_bensservicos().toString() }) > 0;
}
// edição de lista
public BensServicosVO getById(Integer ID) {
SQLiteDatabase db = new Db(ctxt).getReadableDatabase();
Cursor rs = db.query(table_name, columns, "id_bensservicos=?",
new String[] { ID.toString() }, null, null, null, null);
BensServicosVO vo = null;
if (rs.moveToFirst()) {
vo = new BensServicosVO();
vo.setId_bensservicos(rs.getInt(rs
.getColumnIndex("id_bensservicos")));
vo.setCodigo_despesa(rs.getInt(rs.getColumnIndex("codigo_despesa")));
vo.setNome_bensservicos(rs.getString(rs
.getColumnIndex("nome_bensservicos")));
vo.setValor_benservicos(rs.getFloat(rs
.getColumnIndex("valor_benservicos")));
vo.setData_bensservicos(rs.getString(rs
.getColumnIndex("data_bensservicos")));
}
return vo;
}
// trabalhar com listagem
public List<BensServicosVO> getAll() {
SQLiteDatabase db = new Db(ctxt).getReadableDatabase();
Cursor rs = db.rawQuery("SELECT * FROM BensServicos", null);
List<BensServicosVO> lista = new ArrayList<BensServicosVO>();
while (rs.moveToNext()) {
BensServicosVO vo = new BensServicosVO(rs.getInt(0), rs.getInt(1),
rs.getString(2), rs.getFloat(3), rs.getString(4));
lista.add(vo);
}
return lista;
}
}
Alguém pode me dar um help obrigado.