Erro na inserção de dados, usando duas tabelas

Boa tarde pessoal, estou com um problema na inserção de dados. Enfim, tenho duas tabelas(categoria e lancamento), lancamento eu tenho um foreign key que é id_categoria. Veja o logcat

03-28 15:12:53.562: E/SQLiteDatabase(536): Error inserting data=28/03/2013 id_categoria=android.widget.SimpleCursorAdapter@4134cb30 observacao=teste valor=3 descricao=vale tipo=D
03-28 15:12:53.562: E/SQLiteDatabase(536): android.database.sqlite.SQLiteException: table lancamento has no column named id_categoria: , while compiling: INSERT INTO lancamento(data,id_categoria,observacao,valor,descricao,tipo) VALUES (?,?,?,?,?,?)

Minha classe openhelpe, onde tenho a criação das tabelas:

// TABELA LANÇAMENTO VAI TER RELACIONAMENTO COM A TABELA CATEGORIA
		String lancamento = "Create table lancamento"
				+ "(_id INTEGER PRIMARY KEY AUTOINCREMENT," 
				+ "tipo TEXT,"
				+ "descricao TEXT," 
				+ "valor TEXT," 
				+ "data TEXT,"
				+ "observacao TEXT," 
				+ "id_categoria INTEGER,"
				+ "FOREIGN KEY (id_categoria) REFERENCES categoria(_id);";
		db.execSQL(lancamento);
		// TABELA CATEGORIA
		String categoria = "CREATE TABLE categoria"
				+ "(_id INTEGER PRIMARY KEY AUTOINCREMENT, "
				+ "descricao TEXT NOT NULL);";
		db.execSQL(categoria);

Depois meu botao salvar:

RadioButton rbReceita = (RadioButton) findViewById(R.id.rbReceita);
		RadioButton rbDespesas = (RadioButton) findViewById(R.id.rbDespesas);
		EditText edtDescricao = (EditText) findViewById(R.id.edtDescricao);

		Spinner spnCategoria = (Spinner) findViewById(R.id.spnCategoria);
		EditText edtValor = (EditText) findViewById(R.id.edtValor);
		EditText edtData = (EditText) findViewById(R.id.edtData);
		EditText edtObservacao = (EditText) findViewById(R.id.edtObservacao);

		// RECEITA
		RadioButton RadioButton = null;
		if (RadioButton == rbReceita) {
			String descricao = edtDescricao.getText().toString();
			String categoria = spnCategoria.getAdapter().toString();
			 
			// Integer.parseInt(spnCategoria.getAdapter().toString());
			String valor = edtValor.getText().toString();
			String data = edtData.getText().toString();
			String observacao = edtObservacao.getText().toString();
			String tipo = "R";
			Dao dao = new Dao(this);
			dao.inserirReceita(tipo, descricao, categoria, valor, data,
					observacao);

		} else { // DESPESAS

			String descricao = edtDescricao.getText().toString();
			String categoria = spnCategoria.getAdapter().toString();
			// Integer categoria =
			// Integer.parseInt(spnCategoria.getAdapter().toString());
			String valor = edtValor.getText().toString();
			String data = edtData.getText().toString();
			String observacao = edtObservacao.getText().toString();
			String tipo = "D";
			Dao dao = new Dao(this);
			dao.inserirDespesas(tipo, descricao, categoria, valor, data,
					observacao);

		}

Por fim meu metodo de inserção:

// INSERIR RECEITA R
	public void inserirReceita(String tipo, String descricao, String id_categoria,
			String valor, String data, String observacao) {
		ContentValues valorDescricao = new ContentValues();
		valorDescricao.put("tipo", tipo);
		valorDescricao.put("descricao", descricao);
		valorDescricao.put("id_categoria", id_categoria);
		valorDescricao.put("valor", valor);
		valorDescricao.put("data", data);
		valorDescricao.put("observacao", observacao);
		abrir();
		ControleFinanceiro.insert("lancamento", null, valorDescricao);
		fechar();

	}

Obs.: O mesmo que está para inserirReceita está para despesa tb!

Enfim, o ocorre o erro e acredito que seja por causa do id_categoria, conforme mostra no log.

Aguardo por uma ajuda e desde já agradeço pela atenção.

Dê uma olhada em : http://www.portalandroid.org/comunidade/viewtopic.php?f=2&t=23122

Este estava com o mesmo erro que você e conseguiu resolver !!

Abraços.

Consegui resolver uma parte, ocorre que, invés de String devo usar Long, na parte de inserção e na classe do salvar tb a mesma coisa usar Long, agora ocorre o erro de outra forma(porém mostrando o que está pegando no id_categoria), veja:

03-28 17:46:25.340: E/SQLiteDatabase(560): Error inserting data=28/03/2013 [b]id_categoria=22 [/b]observacao=teste valor=2 descricao=calça tipo=D