SALVAR DATAS NO POSTGRESQL VIA STORED PROCEDURE | VB.NET

19/05/2016

0

O título já diz.
O que estou tentando fazer é receber uma data digitada no console através de uma variável data e salva-la no banco através de uma stored procedure.
Porém retorna Function does not exist
Acredito que seja pelo formato que o postgresql utiliza "yyyy-mm-dd"
Já VB utiliza "mm/dd/yyyy"
Me ajudem, segue o código abaixo:

Sub Main()
Do While True = True
Dim valor As Date

Dim DTB As New DataTable
Console.WriteLine("Grave um valor: ")
valor = Console.ReadLine
Console.Write(valor)

salvar(valor)
Consultar(DTB)
For i = 0 To DTB.Rows.Count - 1
For j = 0 To DTB.Columns.Count - 1
Console.Write("|" + DTB.Rows(i)(j).ToString)
Next
Console.WriteLine()
Next
Loop
End Sub

Public Sub salvar(ByVal valor As Date)

strInstrucao = "salvar"
objCommand.CommandText = strInstrucao
objCommand.Connection = objConexao

objCommand.CommandType = CommandType.StoredProcedure
objCommand.Parameters.AddWithValue("@valor", valor)

objConexao.Open()
'transacao = objConexao.BeginTransaction(IsolationLevel.ReadCommitted)
objCommand.ExecuteNonQuery()
'transacao.Commit()
objConexao.Close()
End Sub
Everton Rodrigues

Everton Rodrigues

Responder

Posts

19/05/2016

Fabiano Carvalho

Informe onde é localizada a procedure.
Não conheço muito do PostgreeSQL, mas é necessário informa a [base][schema][nome da procedure] para que o VB saiba onde executar a stored procedure.
Responder

19/05/2016

Everton Rodrigues

A base já é informada na string de conexão. Informei o Schema porém o erro continua:
strInstrucao = "public.salvar"


ERRO:
function public.salvar(timestamp without time zone) does not exist"}
Responder

19/05/2016

Everton Rodrigues

Resolvido!!!!
O problema estava na tabela do banco que o type estava time whitout.
Troquei para date e tudo funcionou.
Agradeço.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar