Avatar billede sapworld Nybegynder
23. marts 2004 - 05:13 Der er 7 kommentarer og
1 løsning

Skriv til access DB fejl

Hej

Jeg får data fra en form, og vil skrive dem til en access database med følgende kode:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("../../DB/database.mdb")
Conn.Open DSN
sql = "Insert into links (log, catagory, text, link) values(now(), '" & request.Form("katagori") & "', '" & request.Form("beskrivelse") & "', '" & Request.Form("link") &"')"
Conn.Execute(sql)
%>

Jeg får denne fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.
/intern/result_link.asp, line 27

Nogen der kan se hvorfor?

Jeg ved at data kommer korrekt fra formen, for jeg kan få værdierne frem med denne kode:
    <%response.write("Katagori: ") + (request.form("katagori"))%><br>
    <%response.write("Beskrivelse: ") + (request.form("beskrivelse"))%><br>
    <%response.write("Link: ") + (request.form("link"))%>

Hilsen

Kim
Avatar billede loukas Mester
23. marts 2004 - 07:52 #1
Hvis du skriver sql'en således er det nemmere at finde fejlen:
Response.Write sql

Og lad være med at excute den:
'Conn.Execute(sql)
Avatar billede sapworld Nybegynder
23. marts 2004 - 09:06 #2
Så får jeg dette ud:
Insert into links (log, catagory, text, link) values(now(), 'Covers / Cracks', 'sdf', 'sdfsd')

Er det ikke ok???

/Kim
Avatar billede nozio Nybegynder
23. marts 2004 - 09:34 #3
Prøv det her:

Insert into links (log, catagory, text, link) values('" & now() & "', 'Covers / Cracks', 'sdf', 'sdfsd')
Avatar billede phineas_phreak Nybegynder
23. marts 2004 - 09:38 #4
du kan også prøve at execute den med det samme

conn.execute("insert into links(log,catagory,text,link) values(now(),'"&Request.Form("katagori")&"','"&Request.Form("beskrivelse")&"','"&Request.Form("link")&"')")
Avatar billede sapworld Nybegynder
23. marts 2004 - 09:55 #5
Jeg har prøvet at execute den med det samme, og samme fejl kommer. Nogen gode råd?

/Kim
Avatar billede phineas_phreak Nybegynder
23. marts 2004 - 10:09 #6
hvad hvis du gør sådan her:

<%
Const adOpenKeyset = 1
Const adLockOptimistic = 3

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../../DB/database.mdb")

    Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "Select * From links"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

      rs.AddNew
      rs("log") = date
      rs("catagory") = request.Form("katagori")
      rs("text") = request.Form("beskrivelse")
      rs("link") = request.Form("link")
 
      rs.Update

    rs.Close
    Set rs = Nothing
Conn.Close
set Conn = Nothing

%>
Avatar billede sapworld Nybegynder
23. marts 2004 - 10:23 #7
Og vupti det virker - jeg takker mange gange :)

Poster du et svar?

Hilsen

Kim
Avatar billede phineas_phreak Nybegynder
23. marts 2004 - 10:26 #8
selvfølgelig :)
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

IT-JOB

Rambøll Management Consulting

Senior Software Engineer

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Unified Communications specialist til IT-Operations i Cyberdivisionen

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger en IT-supporterelev til lokal IT på Haderslev Kaserne

Politiets Efterretningstjeneste

PET søger softwareingeniører til Ruslandsområdet