none
Como usar Stored Procedures em vb.net com Postgresql? RRS feed

  • Pergunta

  • Boa tarde,

    Galera, estou com funções no PostgreSQL que gera um nome de tabela e outro que cria o nome da tabela conforme o nome gerado. Gostaria de saber como faço para conectar no VB.NET de acordo com os parâmetros "data inicial", "data final", "região" ? Por exemplo, coloca esses dados, aí clica no "OK" chama a função para criar tabela. Alguém tem algum exemplo parecido?

    quinta-feira, 17 de novembro de 2016 17:03

Respostas

  • Filipe, 

    Se a função do Postgre retorna apenas um valor, substitua a linha do ExecuteReader por esta:

    Dim retorno As String = cmd.ExecuteScalar().ToString()

    Assim o valor retornado pela função será armazenado na variável retorno.


    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    quinta-feira, 17 de novembro de 2016 23:40

Todas as Respostas

  • Olá,

    Olha se esse artigo lhe ajuda: http://sqlblog.com/blogs/alexander_kuznetsov/archive/2013/11/01/learning-postgresql-functions-and-refcursors.aspx


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    quinta-feira, 17 de novembro de 2016 17:08
  • Filipe Lobato,

    Segue exemplo genérico usando o provider Npgsql (http://www.npgsql.org/):

    Using conn = New NpgsqlConnection("Host=myserver;Username=mylogin;Password=mypass;Database=mydatabase") conn.Open() Using cmd = New NpgsqlCommand() cmd.Connection = conn ' Insert some data cmd.CommandText = "NomeDaStoredProcedure" cmd.CommandType = CommandType.StoredProcedure

    cmd.Parameters.AddWithValue("NomeDoParametro", ValorDoParametro) Using reader = cmd.ExecuteReader() While reader.Read() Console.WriteLine(reader.GetString(0)) End While End Using End Using End Using



    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".


    quinta-feira, 17 de novembro de 2016 17:11
  • Filipe Lobato,

    Segue exemplo genérico usando o provider Npgsql (http://www.npgsql.org/):

    Using conn = New NpgsqlConnection("Host=myserver;Username=mylogin;Password=mypass;Database=mydatabase") conn.Open() Using cmd = New NpgsqlCommand() cmd.Connection = conn ' Insert some data cmd.CommandText = "NomeDaStoredProcedure" cmd.CommandType = CommandType.StoredProcedure

    cmd.Parameters.AddWithValue("NomeDoParametro", ValorDoParametro) Using reader = cmd.ExecuteReader() While reader.Read() Console.WriteLine(reader.GetString(0)) End While End Using End Using End Using



    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".


    Irei tentar aqui, quero que execute a função e traga o resultado dela, também.
    quinta-feira, 17 de novembro de 2016 17:59
  • Boa tarde,

    Bom, tentei aqui funcionou para o que não retorna valores (apenas cria a tabela), porém não dá nenhum sinal de bem sucedida. E para a função do postgresql que retorna uma string com um nome de tabela, não sei se funcionou, pois não retorna a string. Como faço para pegar esse resultado(string) do postgresql ?

    quinta-feira, 17 de novembro de 2016 19:34
  • Filipe, 

    Se a função do Postgre retorna apenas um valor, substitua a linha do ExecuteReader por esta:

    Dim retorno As String = cmd.ExecuteScalar().ToString()

    Assim o valor retornado pela função será armazenado na variável retorno.


    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    quinta-feira, 17 de novembro de 2016 23:40
  • Bom dia,

    Devido a falta de interação do autor dessa pergunta,

    essa thread está sendo fechada. Caso o problema ainda

    esteja ocorrendo, favor abrir uma nova thread.

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 21 de novembro de 2016 11:42
    Moderador