Avatar billede Tony Juniormester
30. april 2005 - 13:08 Der er 6 kommentarer og
1 løsning

Problemer med dato i SQL?

Jeg har:

Dim ConnA, rsA, strSglA, toDay

toDay = Day(Date()) & "." & Month(Date()) & "." & Year(Date())

If Request.Form("cmdSubmit") <> "" Then
    set ConnA = server.createobject("adodb.connection")
    DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSNtemp=dsntemp & "DBQ=" & server.mappath("../../data/newsletter/newsletter.mdb")
    ConnA.Open DSNtemp
       
    strSglA = "INSERT INTO newslettersSend (newsletterDate) VALUES ("& toDay &")"

    Set rsA = Server.CreateObject("ADODB.Recordset")
      Set rsA = ConnA.execute(strSqlA)

    rsA.Close()
    Set rsA = Nothing
    ConnA.Close()
    Set ConnA = Nothing
End If

Jeg får:
Microsoft OLE DB Provider for ODBC Drivers error '80040e0c'
Command text was not set for the command object.
/admin/newsletter/sendnyhedsbrev.asp, line 60

Hvor går det galt?
Avatar billede tagman Nybegynder
30. april 2005 - 13:16 #1
Enten skal du putte pinger rundt om din dato således:

strSglA = "INSERT INTO newslettersSend (newsletterDate) VALUES ('"& toDay &"')"

Eller også skal du bare droppe at lave datoen og bruge den smukke, rene SQL:

strSglA = "INSERT INTO newslettersSend (newsletterDate) VALUES (GETDATE())"

Desuden har du lavet forkerte variabel-navne:

strSglA og strSqlA
Avatar billede tagman Nybegynder
30. april 2005 - 13:16 #2
bemærk altså G'et og Q'et i dine variabel navne... det var det, jeg mente :)
Avatar billede Tony Juniormester
30. april 2005 - 13:24 #3
Uha, den med G / Q var godt set!

Med den 'smukke, rene SQL' får jeg:

"Undefined function 'GETDATE' in expression."

i:
strSqlA = "INSERT INTO newslettersSend (newsletterDate) VALUES (GETDATE())"
Avatar billede Tony Juniormester
30. april 2005 - 13:26 #4
Hvis jeg blot bruger Date() så får jeg:

"Operation is not allowed when the object is closed."
Avatar billede Tony Juniormester
30. april 2005 - 13:59 #5
Åhh, fejlen var at:

rsA.Close()
Set rsA = Nothing
ConnA.Close()
Set ConnA = Nothing

Blot skulle være:

set rsA = nothing
set ConnA = nothing

***
tagman smid lige et 'svar', så du kan få dine point ...
Avatar billede tagman Nybegynder
30. april 2005 - 14:24 #6
=) takmand!

Har ikke helt styr på Access... gør mit bedste for at acceptere det som et normalt SQL-sprog... og den har jo sørme sin egen Date()-funktion, så det er jo helt ok.
Avatar billede Tony Juniormester
30. april 2005 - 14:52 #7
Helt i orden! :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester