PROBLEMA COM INPUTBOX
Olá pessoal.
preciso de uma ajuda grande, estou tentando registrar dados com INPUTBOX, porem ele me está dando erro no registro alguém de vcs pode me ajudar onde é qe estou falhando?
veja o codigo
Dim nomegrupo As String
Dim codgrupo As String
nomegrupo = InputBox([Ô]DigÃte o nome do novo grupo[Ô], [Ô]cadastro grupo[Ô])
codgrupo = InputBox([Ô]DigÃte Um código do Grupo[Ô], [Ô]cadastro grupo[Ô])
If nomegrupo < 3 Or codgrupo = [Ô][Ô] Then
MsgBox([Ô]Existem Campos de Preenchimento Obrigatórios[Ô], MsgBoxStyle.Information, [Ô]Arimuya - Projetos T.I.[Ô])
Else
Using cn As OleDbConnection = conectarbancodados() [ô]conexao do banco de dados
Try
cn.Open()
Dim sql As String = [Ô]Insert Into grupocontatos(cod_grupo,nomegrupo) Values (?,?)[Ô]
Dim cmd As OleDbCommand = New OleDbCommand(sql, cn)
cmd.Parameters.Add(New OleDbParameter([Ô]@cod_grupo[Ô], codgrupo))
cmd.Parameters.Add(New OleDbParameter([Ô]@nomegrupo[Ô], nomegrupo))
cmd.ExecuteNonQuery()
MsgBox([Ô]Dados Registrado com Sucesso. ![Ô], MsgBoxStyle.Information, [Ô]cadastro grupo[Ô])
Catch ex As Exception
MsgBox(ex.Message)
Finally
cn.Close()
End Try
End Using
End If
preciso de uma ajuda grande, estou tentando registrar dados com INPUTBOX, porem ele me está dando erro no registro alguém de vcs pode me ajudar onde é qe estou falhando?
veja o codigo
Dim nomegrupo As String
Dim codgrupo As String
nomegrupo = InputBox([Ô]DigÃte o nome do novo grupo[Ô], [Ô]cadastro grupo[Ô])
codgrupo = InputBox([Ô]DigÃte Um código do Grupo[Ô], [Ô]cadastro grupo[Ô])
If nomegrupo < 3 Or codgrupo = [Ô][Ô] Then
MsgBox([Ô]Existem Campos de Preenchimento Obrigatórios[Ô], MsgBoxStyle.Information, [Ô]Arimuya - Projetos T.I.[Ô])
Else
Using cn As OleDbConnection = conectarbancodados() [ô]conexao do banco de dados
Try
cn.Open()
Dim sql As String = [Ô]Insert Into grupocontatos(cod_grupo,nomegrupo) Values (?,?)[Ô]
Dim cmd As OleDbCommand = New OleDbCommand(sql, cn)
cmd.Parameters.Add(New OleDbParameter([Ô]@cod_grupo[Ô], codgrupo))
cmd.Parameters.Add(New OleDbParameter([Ô]@nomegrupo[Ô], nomegrupo))
cmd.ExecuteNonQuery()
MsgBox([Ô]Dados Registrado com Sucesso. ![Ô], MsgBoxStyle.Information, [Ô]cadastro grupo[Ô])
Catch ex As Exception
MsgBox(ex.Message)
Finally
cn.Close()
End Try
End Using
End If
Qual é o erro que está retornando?
Verifique se a alteração abaixo vai resolver.
Verifique se a alteração abaixo vai resolver.
Dim sql As String = [Ô]Insert Into grupocontatos(cod_grupo,nomegrupo) Values (@cod_grupo,@nomegrupo)[Ô]
Dim cmd As OleDbCommand = New OleDbCommand(sql, cn)
cmd.Parameters.Add(New OleDbParameter([Ô]@cod_grupo[Ô], codgrupo))
cmd.Parameters.Add(New OleDbParameter([Ô]@nomegrupo[Ô], nomegrupo))
cmd.ExecuteNonQuery()
ele me esta devolvendo este erro, mesmo alterando
experimenta fazer assim.
If nomegrupo.Length < 3 Or codgrupo.ToString() = [Ô][Ô] Then
Citação::
experimenta fazer assim.
If nomegrupo.Length < 3 Or codgrupo.ToString() = [Ô][Ô] Then
Sem chance problema ainda persiste, tentei tambem tirar as combinações das regras mesmo assim nao deu certo
Leia a mensagem, ela diz tudo sobre o seu problema. Você tentou converter a string [Ô]ka[Ô] em valor numérico e isso não é possÃvel. Não foi uma conversão explÃcita, mas vai gerar erro porque o tipo retornado por inputbox é invariavelmente string e mesmo que você digite um número, vai ser uma string com o número. O que você tem que fazer é usar um directcast para tentar converter o valor digitado em tipo numérico.
E uma dica, não use linguagens diferentes do inglês no visual studio, como no seu caso, o espanhol. De nada adianta você mudar a linguagem se não ler o que as mensagens te dizem...
Citação:If nomegrupo.Length < 3 Or codgrupo.ToString() = [Ô][Ô] Then
ARIMUYA, o Guimoraes123 está correto, e muito provavelmente o erro agora deve ser outro.
Uma informação bem simples, básica e objetiva.
nomegrupo < 3
é completamente diferente de :
If [Ô]nomegrupo[Ô] < [Ô]3[Ô]
Cuidado com comparações/condicionais, elas sempre serão diferentes caso o tipo de dados também sejam diferentes.
3 é != [Ô]3[Ô]
nomegrupo < 3
é completamente diferente de :
If [Ô]nomegrupo[Ô] < [Ô]3[Ô]
Cuidado com comparações/condicionais, elas sempre serão diferentes caso o tipo de dados também sejam diferentes.
3 é != [Ô]3[Ô]
Pois é FOXMAN, foi o que tentei dizer...
Acredito que o erro dele esteja na parte do [Ô]Else[Ô] agora. Retirei o [Ô]cn.Close()[Ô], pois isso já acontece no fechamento da cláusula [Ô]Using[Ô], e fiz um Casting no cod_grupo, como foi citado pelo KERPLUNK E FOXMAN.
Dim nomegrupo As String
Dim codgrupo As String
nomegrupo = InputBox([Ô]DigÃte o nome do novo grupo[Ô], [Ô]cadastro grupo[Ô])
codgrupo = InputBox([Ô]DigÃte Um código do Grupo[Ô], [Ô]cadastro grupo[Ô])
If nomegrupo.Length < 3 Or codgrupo.ToString() = [Ô][Ô] Then
MsgBox([Ô]Existem Campos de Preenchimento Obrigatórios[Ô], MsgBoxStyle.Information, [Ô]Arimuya - Projetos T.I.[Ô])
Else
Using cn As OleDbConnection = conectarbancodados() [ô]conexao do banco de dados
Try
Dim sql As String = [Ô]Insert Into grupocontatos(cod_grupo,nomegrupo) Values (@cod_grupo,@nomegrupo)[Ô]
Dim cmd As OleDbCommand = New OleDbCommand(sql, cn)
cmd.Parameters.Add(New OleDbParameter([Ô]@cod_grupo[Ô], Cint(codgrupo)))
cmd.Parameters.Add(New OleDbParameter([Ô]@nomegrupo[Ô], nomegrupo))
cmd.ExecuteNonQuery()
MsgBox([Ô]Dados Registrado com Sucesso. ![Ô], MsgBoxStyle.Information, [Ô]cadastro grupo[Ô])
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Using
End If
Tópico encerrado , respostas não são mais permitidas