Avatar billede benkebus Nybegynder
31. oktober 2001 - 08:54 Der er 27 kommentarer og
1 løsning

Fel i SQL statement

detta är mitt sql statement:
<%SQL2 = \"SELECT * FROM etiketter where ID=\" & pallarray(i) & \" and bildnamn like \'A%\'

\"Set rs2 = MyConn.Execute(SQL2)%>


och det blir detta felmeddelande...

ADODB.Field (0x80020009)
Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post.
/fresh/index.asp
Avatar billede zeptic Nybegynder
31. oktober 2001 - 08:57 #1
Hvad sker der hvis du kun laver:

<%
SQL2 = \"SELECT * FROM etiketter\"
Set rs2 = MyConn.Execute(SQL2)
%>
Avatar billede stig3 Mester
31. oktober 2001 - 08:57 #2
<%
SQL2 = \"SELECT * FROM etiketter where ID=\" & pallarray(i) & \" and bildnamn like \'A%\'\"
Set rs2 = MyConn.Execute(SQL2)
%>

og prøv lige at check om der overhovedet er nogle poster i db\'en der starter med A.
Avatar billede benkebus Nybegynder
31. oktober 2001 - 09:07 #3
zeptic...

<%
SQL2 = \"SELECT * FROM etiketter\"
Set rs2 = MyConn.Execute(SQL2)
%>

då listar den bara första posten i databasen många gånger... det är därför jag har med arrayen... men så vill jag gärna kunna sortera i listningen...
Avatar billede eagleeye Praktikant
31. oktober 2001 - 09:07 #4
Din SQL-sætning finder ikke noget i databasen.

if not (rs2.BOF and rs2.EOF) than
  \'udskrive data
else
  \'Søgningen fandt ikke noget.
end if
Avatar billede zeptic Nybegynder
31. oktober 2001 - 09:08 #5
når du skriver ud, husker du så en rs2.MoveNext()?
Avatar billede benkebus Nybegynder
31. oktober 2001 - 09:11 #6
så här ser hela sidan ut...

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
    <%
Set MyConn=Server.CreateObject(\"ADODB.Connection\")
MyConn.Open \"DSN=freshetiketter;UID=;PWD=\"%>

<%SQL = \"SELECT * FROM kunder where kund=\'Fresh\'\"
Set rs = MyConn.Execute(SQL)%>
<html>
<head>
    <title>Ettikett beställning...</title>
        <link rel=\"stylesheet\" href=\"stilmall.css\" type=\"text/css\">
</head>
<body bgcolor=\"White\">
<%pallista=trim(rs(\"pallista\"))%>
<% pallarray=split(pallista,\" \")%>
<%maxcounter=ubound(pallarray)%>
<table width=\"500\" border=\"0\" cellspacing=\"5\">
<tr>
<td bgcolor=\"#C0C0C0\"><span class=\"tdtextul\">Etikett</span></td>
<td bgcolor=\"#C0C0C0\"><span class=\"tdtextul\">Preview</span></td>
<td bgcolor=\"#C0C0C0\"><span class=\"tdtextul\">Antal</span></td>
<td bgcolor=\"#C0C0C0\"><span class=\"tdtextul\">Färg</span></td>
</tr>

<%Do while Not rs.EOF %>
<tr>
<% i = 0 %>
<% for i = 0 to maxcounter %>


<%SQL2 = \"SELECT * FROM etiketter where ID=\" & pallarray(i) & \" and bildnamn like \'A%\' \"
Set rs2 = MyConn.Execute(SQL2)%>
<tr>
<td bgcolor=\"#E6E6E6\"><span class=\"tdtext\"><%=rs2(\"bildnamn\")%></span></td>
<td bgcolor=\"#E6E6E6\"><span class=\"tdtext\"><img src=\"http://192.168.62.201/webnative/getimage?-small+/disk1_2/Jobb/Demo2/fresh/<%=rs2(\"ettikett\")%>.eps\"></span></td>
<form action=\"confirmation.asp\" method=\"post\">

<input name=\"bildnamn<%=i%>\" type=\"hidden\" value=\"<%=rs2(\"bildnamn\")%>\">
<td><input type=\"Text\" size=\"10\" name=\"antal<%=i%>\"></td>
<td><input type=\"hidden\" name=\"farg<%=i%>\" value=\"<%=rs2(\"farg\")%>\"><span class=\"tdtext\"><%=rs2(\"farg\")%></span></td>
</tr>
<% next %>
<tr><td><img src=\"1pixel.gif\" width=\"15\" height=\"10\" border=\"0\" alt=\"\"></td></tr>
<tr><td colspan=\"5\"><br><span class=\"tdtext\">Meddelande:<br></span><br><TEXTAREA NAME=\"meddelande\" ROWS=\"6\" COLS=\"40\"></TEXTAREA><br><br><input name=\"max\" type=\"hidden\" value=\"<%=maxcounter%>\"><input type=\"submit\" value=\"Skicka beställning...\"></td></tr>
</form>
</tr>
<% rs.MoveNext
loop%>
</table>
</body>
</html>
Avatar billede zeptic Nybegynder
31. oktober 2001 - 09:12 #7
<%
SQL2 = \"SELECT * FROM etiketter where bildnamn like \'A%\'\"
SQL2 = SQL2 & \" ORDER BY bildnamn\"
Set rs2 = MyConn.Execute(SQL2)

if not (rs2.BOF and rs2.EOF) than
   while NOT(rs2.EOF)
      Response.Write(rs2(\"bildnamn\"))
      Response.Write(\"<br>\")
      rs2.MoveNext()
  wend
else
  Response.Write(\"Søgningen fandt ikke noget.\")
end if

%>
Avatar billede zeptic Nybegynder
31. oktober 2001 - 09:14 #8
Er du sikker på at alle ID\'er findes?
Avatar billede benkebus Nybegynder
31. oktober 2001 - 09:15 #9
zeptic...

näääh det funkar ändå inte...
Avatar billede zeptic Nybegynder
31. oktober 2001 - 09:21 #10
så prøvat skifte

Set rs2 = MyConn.Execute(SQL2)

ud med:

Set rs2 = Server.CreateObject(\"ADODB.Recordset\")
rs2.open SQL2, MyConn
Avatar billede doomstone Nybegynder
31. oktober 2001 - 09:39 #11
prøv med

<%SQL2 = \"SELECT * FROM etiketter where ID=\'\" & pallarray(i) & \"\' and bildnamn like \'A%\'

Avatar billede benkebus Nybegynder
31. oktober 2001 - 09:44 #12
doomstone...

Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][Drivrutin för ODBC Microsoft Access] Typblandningsfel i villkorsuttryck.
/fresh/index.asp, line 33
Avatar billede tmceu Praktikant
31. oktober 2001 - 10:20 #13
ID er et reserveret ord i de fleste databaser. Prøv derfor at sætte [] rundt om ID, så det bliver til [ID]
Avatar billede eagleeye Praktikant
31. oktober 2001 - 23:42 #14
Prøv lige at udskrive din SQL2 :

<%
SQL2 = \"SELECT * FROM etiketter where ID=\" & pallarray(i) & \" and bildnamn like \'A%\' \"
response.write SQL2
Set rs2 = MyConn.Execute(SQL2)%>
Avatar billede eagleeye Praktikant
31. oktober 2001 - 23:46 #15
og jeg ville lave denne for sætning
<% for i = 0 to maxcounter %>

om til:
<% for i = LBound(pallarray) to UBound(pallarray)%>
Avatar billede benkebus Nybegynder
01. november 2001 - 09:42 #16
ok det verkar vara svårt att få in ännu ett uttryck i sql statementet... någon som har en ide om hur man skall sortera databasen... jag vill kunna visa bilder som börjar på A, T, J, D och Integra... exempelvis så heter en bild \"A 100 HTP\" och så finns det lite olika varianter... jag vill lista alla som börjar på \"A \"...
Avatar billede eagleeye Praktikant
01. november 2001 - 09:44 #17
SQL2 = \"SELECT * FROM etiketter where bildnamn like \'A%\'\"
Avatar billede benkebus Nybegynder
01. november 2001 - 09:59 #18
eagleeye...

ID=\" & pallarray(i) & \" måste vara med annars listas inte alla bilderna i data basen utan bar den första men den listas så många gånger som det finns poster i databasen...
Avatar billede eagleeye Praktikant
01. november 2001 - 10:01 #19
er ID et tal eller en streng i databasen`?
Avatar billede benkebus Nybegynder
01. november 2001 - 10:07 #20
ID är det som access alltid vill lägga till... ett fält som automatiskt räknar...
Avatar billede eagleeye Praktikant
02. november 2001 - 16:22 #21
ID er autonumber ??
Avatar billede benkebus Nybegynder
05. november 2001 - 07:12 #22
ja det stämmer... det kallas väl för \"primary key\"...
Avatar billede eagleeye Praktikant
05. november 2001 - 08:22 #23
OK, så hvis ID er autonummer, så ligger der en begrænsning i SQL\'en  ID=\" & pallarray(i) & \"  Den begrænser til 1 record som kan bliver valgt. og AND med: like \'A%\'\" Hvis denne ene ikke lige starter med a findes ingen records. Eks:

ID  bildnamn
1  Bild1
2  A-bild

Hvis ID = 1 så får ingen record da bildnamn starte med B i rækker 1.
Avatar billede benkebus Nybegynder
05. november 2001 - 08:45 #24
hur ska man då göra för att sortera recordsetet...
Avatar billede eagleeye Praktikant
05. november 2001 - 09:21 #25
Du kan lave en ORDER BY:

SQL2 = \"SELECT * FROM etiketter where bildnamn like \'A%\' ORDER BY bildnamn\"
Avatar billede benkebus Nybegynder
05. november 2001 - 09:36 #26
denna måste ju finnas med...
ID=\" & pallarray(i) & \" 

annars listas bara första posten i databasen lika många gånger som dwet finns poster i databasen...
Avatar billede eagleeye Praktikant
05. november 2001 - 09:37 #27
Du kan skrive et hvilken som helt kolonne efter ORDER BY medkomma mellem. Du kan også angive ASC (default) stigne, DESC for faldene.

SQL2 = \"SELECT * FROM etiketter where ID=\" & pallarray(i) & \" and bildnamn like \'A%\' ORDER BY bildnamn\"
Avatar billede benkebus Nybegynder
24. januar 2002 - 08:48 #28
jaja... här kommer vi nog inte längre
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