[DUVIDA VB MYSQL] NAO GRAVA OS DADOS

GOUVMARC 06/10/2012 14:11:05
#411447
Prezados,

Por gentileza, sou novo no VB e preciso montar um formulário que grave os dados em uma tabela no mysql

Estou fazendo da seguinte maneira.

Imports MySql.Data.MySqlClient


Public Class frmfuncionario
Dim sqlconection As MySqlConnection = New MySqlConnection
Dim serverstring As String = [Ô]Server= localhost; User=root; password=;database=troade_system[Ô]

Private Sub form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
sqlconection.ConnectionString = serverstring
Try
If sqlconection.State = ConnectionState.Closed Then
sqlconection.Open()
MsgBox([Ô]Connection Successfully to DataBase[Ô])
Else
sqlconection.Close()
MsgBox([Ô]Connection has closed[Ô])
End If
Catch ex As Exception
MsgBox(ex.ToString)

End Try
End Sub

Private Sub cmdSalvar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSalvar.Click

Dim SQLQStatement As String = [Ô]INSERT INTO funcionario (nome,rg,cpf,funcao,data_registro,posto_trabalho,telefone,celular,endereco,numero,bairro,complemento,cidade,uf) VALUES ([ô][Ô] & txtnome.Text & [Ô][ô],[ô][Ô] & txtrg.Text & [Ô][ô], [ô][Ô] & mskcpf.Text & [Ô][ô], [ô][Ô] & mskdataregistro.Text & [Ô][ô], [ô][Ô] & txtpostodetrabalho.Text & [Ô][ô], [ô][Ô] & msktel.Text & [Ô][ô], [ô][Ô] & mskcel.Text & [Ô][ô], [ô][Ô] & txtend.Text & [Ô][ô], [ô][Ô] & txtnum.Text & [Ô][ô], [ô][Ô] & txtbairro.Text & [Ô][ô], [ô][Ô] & txtcomplemento.Text & [Ô][ô], [ô][Ô] & txtcid.Text & [Ô][ô], [ô][Ô] & cbboxUF.Text & [Ô][ô] )[Ô]
savedata(SQLQStatement)
End Sub
[ô]Executar comando pra inserir[ô]

Public Sub savedata(ByRef SQLStatement As String)
Dim cmd As New MySqlCommand
cmd = New MySqlCommand
With cmd
.CommandText = SQLStatement
.CommandType = CommandType.Text
.Connection = sqlconection
.ExecuteNonQuery()
End With

MsgBox([Ô]Cadastrado com sucesso[Ô])
End Sub

Porem quando executa ele para no .ExecuteNonQuery()

Segue o print para ficar mais claro.

Por gentileza poderiam me ajudar com esse caso?

Desde já agradeço!!
NILSONTRES 06/10/2012 14:50:50
#411450
Resposta escolhida
A mensagem diz que a quantidade de campos esta maior ou menor que a quantidade de valoes inseridos, reveja sua query.
E tem também duas vezes cmd=new mycomand
deixe só cmd as new mysqlcomand, mais o principal erro mesmo é na query.

Olha la, vc declarou 14 campos, mas só declarou 13 valores.
GOUVMARC 06/10/2012 15:45:31
#411454
Verdade, muito obrigado, desculpa pela ignorância estou começando agora.

Arrumei os valores e o insert rolou de boa.

Podemos encerrar o topico
NILSONTRES 06/10/2012 23:04:41
#411459
Pode encerrar sim.
Tópico encerrado , respostas não são mais permitidas