Avatar billede fldkdla Nybegynder
06. oktober 2004 - 17:55 Der er 2 kommentarer og
1 løsning

Hvorfor virker dette ikke ?

Hej

Hvorfor virker dette ikke?

<%
data1 = "test"
feld1 = "pcname"
Set DataConn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = dsn & "DBQ=" & server.mappath("it.mdb")
DataConn.Open DSN
Set mehl = Server.CreateObject("ADODB.RecordSet")
mehl.open "SELECT * FROM hardware where "&request("feld1")&" = '"&request("data1")&"'", DataConn
Set rs = mehl
        If rs.BOF Or rs.EOF Then
        Response.Redirect("default.asp?iframe=none&action=none")
        end if
%>
<%
while not rs.eof
%>
<TABLE>
<TR>
    <TD>PC Navn</TD>
    <TD>Serial nr.</TD>
    <TD>Type</TD>
    <TD>Scannet af</TD>
    <TD>Tid</TD>
    <TD>HP Varenti</TD>
    <TD>SMS PC data</TD>
    <TD>Slet</TD>
</TR>
<TR>
    <TD><% response.write (mehl("id")) %></TD>
    <TD><% response.write (mehl("id")) %></TD>
    <TD><% response.write (mehl("id")) %></TD>
    <TD><% response.write (mehl("id")) %></TD>
    <TD><% response.write (mehl("id")) %></TD>
    <TD><% response.write (mehl("id")) %></TD>
    <TD><% response.write (mehl("id")) %></TD>
    <TD><% response.write (mehl("id")) %></TD>
</TR>
</TABLE>
<%
rs.movenext
wend
%>

jeg får denne fejl:

Technical Information (for support personnel)

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression '= '''.
/amcor-art/default.asp, line 157


Browser Type:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)

Page:
GET /amcor-art/default.asp

Time:
6. oktober 2004, 17:55:17


More information:
Microsoft Support
Avatar billede snowball Novice
06. oktober 2004 - 18:04 #1
mehl.open "SELECT * FROM hardware where " & feld1 & " = '" & data1 & "'", DataConn

Request skal vel kun bruges hvis du vil hente værdien fra f.eks. et teksfelt fra en side du lige har submit'et fra en form. I dette tilfælde bruger du jo bare en lokal variabel.
Avatar billede medions Nybegynder
06. oktober 2004 - 18:06 #2
Prøv lige sådan her i stedet for:


Set DataConn = Server.CreateObject("ADODB.Connection")
DataConn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("it.mdb")
strSQL = "SELECT * FROM hardware where "&feld1&" = '"&data1&"'"
Set rs = DataConn.Execute(strSQL)

//>Rune
Avatar billede mattiw Nybegynder
06. oktober 2004 - 19:25 #3
Dit script fejler fordi du prøver at hente data fra Request objektet.. Jeg antager at Request("feld1") og Request("data1") ikke indeholder nogle data, og derfor vil din sql fejle..
sådan ser din sql ud > (SELECT * FROM hardware where  = '')

Lav istedet din sql-query om til:
"SELECT * FROM hardware where '" & feld1 & "' = '" & data1 & "'"

så burde det virke..
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