ME AJUDEM A INCLUIR REGISTROS NO BD

EDUHAAG 09/01/2013 12:04:49
#417041
Ola pessoal,
Sou fera em vba dentro do excel, e resolvi me aventurar com o vb no visual studio, e não entendo muito dos código com banco de dados.
Bom estou com o seguinte problema (talvez seja burrice minha mesmo) seguindo uns tutoriais que encontrei na net (mas sem entender muito, só adaptando ao meu projeto) criei um codigo pra uma tela de cadastro que salva no no banco de dados do acess, porem tem dado o seguite erro no comando executenoquery :
Citação:

Nenhum valor foi fornecido para um ou mais parâmetros necessários.



alguns dos textbox ficam vazios mesmo talvez possa ser isso?

meu código é o seguinte:

Citação:


Imports System.Data.OleDb
Public Class clientes

Private Sub bt_salvar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_salvar.Click
Dim conn As New OleDbConnection([Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Eduardo\Dois Corações Software\banco\base.mdb[Ô])
Dim query As String


If tb_codigo.Text = [Ô]Automático[Ô] Then
query = [Ô]INSERT INTO Clientes(Código, Nome, Sexo, RG, CPF, Aniversario, Cadastro, Compra, Rua, Numero, Bairro, Cidade, Uf, Cep, Complemento, Telefone, Celular,Email, Obs) VALUES (@Código, @Nome, @Sexo, @RG, @CPF, @Aniversario, @Cadastro, @Compra, @Rua, @Numero, @Bairro, @Cidade, @Uf, @Cep, @Complemento, @Telefone, @Celular,@Email, @Obs)[Ô]
Dim command As New OleDbCommand(query, conn)

[ô]@codigo é a numeração automatica do acess
command.Parameters.Add([Ô]@Código[Ô], OleDbType.VarChar).Value = [Ô][Ô]
command.Parameters.Add([Ô]@Nome[Ô], OleDbType.VarChar).Value = tb_nome.Text
[ô]@sexo é um combobox
command.Parameters.Add([Ô]@sexo[Ô], OleDbType.VarChar).Value = cb_sexo.Text
command.Parameters.Add([Ô]@RG[Ô], OleDbType.VarChar).Value = tb_rg.Text
command.Parameters.Add([Ô]@CPF[Ô], OleDbType.VarChar).Value = tb_cpf.Text
[ô]@aniversario é um controle DatetimePiker
command.Parameters.Add([Ô]@Aniversario[Ô], OleDbType.Date).Value = dp_aniversario.Value
[ô]@Cadastro é a data atual
command.Parameters.Add([Ô]@Cadastro[Ô], OleDbType.Date).Value = Now.Date
[ô]@compra deixar em branco
command.Parameters.Add([Ô]@Compra[Ô], OleDbType.VarChar).Value = [Ô][Ô]
command.Parameters.Add([Ô]@Rua[Ô], OleDbType.VarChar).Value = tb_rua.Text
command.Parameters.Add([Ô]@Numero[Ô], OleDbType.VarChar).Value = tb_numero.Text
command.Parameters.Add([Ô]@Bairro[Ô], OleDbType.VarChar).Value = tb_bairro.Text
command.Parameters.Add([Ô]@cidade[Ô], OleDbType.VarChar).Value = tb_cidade.Text
[ô]@UF é um combobox
command.Parameters.Add([Ô]@Uf[Ô], OleDbType.VarChar).Value = cb_uf.Text
command.Parameters.Add([Ô]@Complemento[Ô], OleDbType.VarChar).Value = tb_complemento.Text
command.Parameters.Add([Ô]@Telefone[Ô], OleDbType.VarChar).Value = tb_telefone.Text
command.Parameters.Add([Ô]@Celular[Ô], OleDbType.VarChar).Value = tb_celular.Text
command.Parameters.Add([Ô]@Email[Ô], OleDbType.VarChar).Value = tb_email.Text
command.Parameters.Add([Ô]@Obs[Ô], OleDbType.VarChar).Value = tb_obs.Text

conn.Open()
Dim x As Integer = command.ExecuteNonQuery()

If x < 1 Then
MessageBox.Show([Ô]Erro ao inserir[Ô], My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)
Else
MessageBox.Show([Ô]Registo inserido com sucesso![Ô], My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Information)
End If

conn.Close()
command = Nothing
End If
End Sub
End Class



lembrando que como não tenho muito conhecimento peguei esse codigo na net e só adaptei.
Se alguem tem um outro codigo que funcione melhor eu agradeço
por favor me ajudem
KERPLUNK 09/01/2013 13:23:21
#417046
Não tenho certeza, mas acho que o case conta. Maiúsculas e minúsculas. Reparei que os nomes de alguns parâmetros têm diferença de case. Experimente colocar os nomes dos parâmetros com o mesmo case.
EDUHAAG 09/01/2013 13:27:17
#417048
realmente tinha errado isso, mas mesmo depois de arrumado continua dando o mesmo erro
AJSO 09/01/2013 13:32:49
#417049
Resposta escolhida
Caro EDUHAAG

A principio falta o parâmetro CEP

command.Parameters.Add([Ô]@CEP[Ô], OleDbType.VarChar).Value = tb_cep.Text



Boa Sorte



EDUHAAG 10/01/2013 01:15:41
#417086
Muito Obrigado Alessandro
Era esse mesmo o problema
Peço desculpas pela minha ignorancia de não ter percebido isso
Mas como falei estou mexendo no visual studio meio a cega.
Pq trabalhar com dados no excel é bem diferente disso aqui.
Muito obrigado mesmo
Valeu
Tópico encerrado , respostas não são mais permitidas