[DUVIDA VB MYSQL] NAO GRAVA OS DADOS
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!!
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!!
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.
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.
Verdade, muito obrigado, desculpa pela ignorância estou começando agora.
Arrumei os valores e o insert rolou de boa.
Podemos encerrar o topico
Arrumei os valores e o insert rolou de boa.
Podemos encerrar o topico
Pode encerrar sim.
Tópico encerrado , respostas não são mais permitidas