webForumDet fria alternativet

Fel 80004005 vid Select-sats

ASP

7 svar · 399 visningar · startad av erika

Medlem sedan juli 200048 inlägg
Frågan#1

Jag har sökt i forumet på felmeddelandet och även kollat microsofts sida gällande felet men hajar inte varför just mitt blir fel.

<% 
Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("databas.mdb")
	Set RecSet = Server.CreateObject("ADODB.Recordset")
   Visa = "SELECT * FROM namnlista where stad = 'stockholm'"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>

Denna funkar itne utan det blir felmeddelande 80004005.

Ändrar jag däremot till tex FROM namn where namn ='pelle' så funkar det fint. Bägge fälten är av format text.

Hur kommer det sig att det kan fungera på en kolumn i en databas men inte på den andra?

har just nu bara en post i databasen också så det kan inte vara antalet ( owerflow ) som jag läste på ett annat ställe :(

Medlem sedan juni 200032 967 inlägg
#2

har just nu bara en post i databasen också

Då beror det antagligen på att du försöker skriva ut värden från recordsetet utan först kontrollera att det inte är tomt.

If not RecSet.EOF Then
     ' skriv ut saker från recordsetet
End if

Ska du verkligen få ut något då stad är stockholm? Är din databas inte skiftlägeskänslig?

Medlem sedan juli 200048 inlägg
#3

Grejen är ju att det är exakt samma förutsättningar för fälten så isåfall borde det bli fel på den första också. Blir väldigt förvirrad av det här.

Och ja det ska vara stockholm, inget med shift som strular till det.

Medlem sedan juni 200032 967 inlägg
#4

Du har alltså kontrollerat att du får något resultat med ovanstående SQL-fråga?
Du har en databas som inte är skiftlägeskänslig?
Du kontrollerar i ASP-koden så du inte försöker skriva ut data från ett recordset som är tomt (EOF)?
Blev du av med felmeddelandet med den ändringen jag föreslog?

Medlem sedan juli 200048 inlägg
#5

Databasen är inte skiftlägeskänslig. Söker jag på namn tex kan jag skriva PeLLe PeLLEson även om det står Pelle Pellesson i databasen.

Resten av koden ser ut såhär:

<% Do Until RecSet.EOF %>
<tr>
		<td height="20"><%=RecSet("namn") %></td>
	</tr><% RecSet.MoveNext
Loop
RecSet.Close %>
<% connect.close %>

Blir så förbryllad eftersom det fungerar om jag använder mig av ett annat fält en stad att köra med i WHERE.

REDIGERING, felet löst:
Hm körde med kolumnamn position och det gillade inte satsen tydligen, bytte till ett annat och då fungerade det, skumt, kan man inte ha kolumner som heter position i en WHERE sats?

Medlem sedan juni 200032 967 inlägg
#6

Okay, dåså! :)

Pekar felmeddelandet på någon speciell rad i koden? Vilken rad i så fall?

Medlem sedan juni 200032 967 inlägg
#7

Nej, du får inte ha ett kolumnnamn som heter position.

http://www.aspfaq.com/show.asp?id=2080

Men frågan är hur felet inträffade när du hade villkoret på fältet stad, och inte när villkoret var på fältet namn?

Medlem sedan juli 200048 inlägg
#8

Stort tack Anders, nu funkar det iaf, vet inte om det var webhotellet som strula till det men nu funkar iaf allt som det ska och jag fick ta bort position på mitt andra ställe, då har man lärt sig nåt nytt idag också =).

Tack alla som engagerat sig =)

538 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
349 ms — deklarationer (db)
0 ms — hämta statistik (cache)
183 ms — hämta tråd, inlägg och bilagor (db)
351 ms — ändringar (db)