ME AJUDEM A INCLUIR REGISTROS NO BD
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
A principio falta o parâmetro CEP
command.Parameters.Add([Ô]@CEP[Ô], OleDbType.VarChar).Value = tb_cep.Text
Boa Sorte
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