Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marvazoler

Gravando data no firebird em ASP

Recommended Posts

Boa tarde!

 

 

Dim com
Dim a
Dim d
Dim m
function formataData( parametro )
com = cDate(parametro)
d = Day(com)
m = Month(com)
a = Year(com)
if d < 10 then d = "0"& d
if m < 10 then m = "0"& m
formataData = a &"/"& m &"/"& d
end function
dim strConexao
dim oRs
dim varpro
dim varper
dim vardatai
dim vardataf
set strConexao = CreateObject("ADODB.Connection")
strConexao.Open("DRIVER=Firebird/InterBase® driver; UID=;PWD=; DBNAME=")
Set oRs = Server.CreateObject("ADODB.Recordset")
varpro = request.form("txtpro")
varper = request.form("txtper")
vardatai = formataData( Request.Form("txtdatai") )
vardataf = formataData( Request.Form("txtdataf") )
Linha 35 do select
Set oRs = strConexao.Execute("insert into pro (produto,PER,DATA_INI,DATA_FIN)values('"&varpro&"','"&varper&"','"&vardatai&"','"&vardataf&"')")
Erro

Microsoft OLE DB Provider for ODBC Drivers erro '80004005'

[ODBC Firebird Driver][Firebird]conversion error from string ""

/promo.asp, linha 35

 

 

O é esse erro?

 

Desde ja agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

não "capisco niente" de firebird, mas no caso o preenchimento do(s) campo(s) é obrigatório, senão da erro mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, fiz o teste de recuperação da variavel de dada, e esta certa, ela me mostra o resultado correto!

ai, quando aplico novamente a função , continua a dar erro de conversão!, eita que coisa!

Se alguem tiver ideia!

 

Obs, estou usando banco local, ou seja, estou usando o 127.0.0.1, para realizar testes!

Compartilhar este post


Link para o post
Compartilhar em outros sites

aparentemente a função está ok (testei e p/ o mysql/postgres precisaria só corrigir 1 linha).

assim, eu tentaria um "response.write" na sql.

Compartilhar este post


Link para o post
Compartilhar em outros sites
qual linha esta errada!

esta:

 

formataData = a &"/"& m &"/"& d

mysql e postgres não aceitam barras.

 

troquei por traços (ou hifens):

formataData = a &"-"& m &"-"& d

tenta ai, quem sabe...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei a solução!

 

Assim, não funciona

vardatai = formataData( Request.Form("txtdatai") )
vardataf = formataData( Request.Form("txtdataf") )
Assim, funciona
vardatai = (formataData( Request.Form("txtdatai") ))
vardataf = (formataData( Request.Form("txtdataf") ) )

 

 

Ou seja, tive que amarrar a função tambem!

 

Obrigado pela atenção!

Compartilhar este post


Link para o post
Compartilhar em outros sites

kramba.. como de costume, vai entender essa M$..rs..

que bom q resolveu.. parabéns..

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.