Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) INSERT INTO em ODBC


Gafanhoto

Pergunta

Bah, parece simples, mas to quebrando a cabeça e não tá funcionando de jeito nenhum. Tenho uma conexão em ODBC e to tentando dar um INSERT INTO simples. ´

Eu fiz um teste usando o seguinte código:

Dim conexao As New clConexao

        Try
            Dim insere As String = "insert into cadastroGeral (nome) values ('guilherme')"
            Dim cmd As New OdbcCommand(insere, conexao.conexao)

            'conectar, executar o insert into e desconectar

            conexao.Conectar()
            cmd.ExecuteNonQuery()
            conexao.Desconectar()
        Catch ex As Exception

        End Try
Funciona perfeitamente. Mas quando eu tento passar um parâmetro, ele não insere. Por exemplo:
Dim conexao As New clConexao

        Try
            Dim insere As String = "insert into cadastroGeral (nome) values (@empresa)"
            Dim cmd As New OdbcCommand(insere, conexao.conexao)

            'Passar os parâmetros
            cmd.Parameters.AddWithValue("@empresa", "guilherme")

            'conectar, executar o insert into e desconectar
            conexao.Conectar()
            cmd.ExecuteNonQuery()
            conexao.Desconectar()
        Catch ex As Exception

        End Try

Já tentei fazer assim também:

Dim empresa = New OdbcParameter("@empresa", "guilherme")

cmd.Parameters.Add(empresa)

Não dá erro nenhum, simplesmente não insere.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Ae, desculpa abrir o tópico e já responder, mas eu estava há 2 dias procurando por isso, e acabei encontrando a solução agora.

O ODBC não pega por nome de variável, e sim por posição.

Ou seja, no values no insert into tem que colocar um ponto de interrogação (?)

Ficou assim o código:

'CONECTAR O BANCO
        Dim conexao As New clConexao

        Dim insere As String = "insert into cadastroGeral (nome) values (?)"

        Try
            Dim cmd As New OdbcCommand(insere, conexao.conexao)

            cmd.Parameters.Add("@empresa", OdbcType.VarChar)
            cmd.Parameters("@empresa").Value = Me.TextBox1.Text

            'conectar, executar o insert into e desconectar
            conexao.Conectar()
            cmd.ExecuteNonQuery()
            conexao.Desconectar()
        Catch ex As Exception

        End Try

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...