webForumDet fria alternativet

vad är det för fel?

Databaser & SQL

8 svar · 389 visningar · startad av voigtann1

Medlem sedan juni 20019 519 inlägg
Frågan#1

Försöker få lite hjälp med Access med att göra vissa villkor:

jag har två st tabeller: tblHeadLinks och tblMainpage
Har en konstants som är talet 1 (kan variera)
Jag har ett villkor med att den skall:
tblHeadlinks uID = konstanten 1
layout
mainpage

Och då skalll man få ut från mainpage:
Vad topic,text, position är för något med hjälp av tblHeadlinks.mainpage = tblMainpage.UID skall vara desamma.

Detta är vad jag har fått ut:

("SELECT tblHeadLinks.layout, tblMainpage.topic, tblMainpage.text, tblMainpage.position, tblHeadLinks.uID FROM tblHeadLinks INNER JOIN tblMainpage ON tblHeadLinks.mainpage = tblMainpage.uID WHERE (((tblHeadLinks.uID)=" & tal &"))")

Men när jag kör med ASP:n så får jag:

Feltyp:
(0x80004005)
Odefinierat fel
/ac4/sql.asp, line 16

line 16 är av någon andledning fel (denna rad är utanför ASP koden) och är
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

Medlem sedan juni 200032 967 inlägg
#2
  1. Skriv ut den färdiga SQL-frågan så du ser att tal innehåller det du tror.
  2. Varför har du 116 parenteser i WHERE-satsen? För att göra det kladdigare och svårare att läsa?
  3. Antagligen får du felmeddelandet för att SQL-frågan inte ger något resultat.
SELECT tblHeadLinks.layout, tblMainpage.topic, tblMainpage.text, 
tblMainpage.position, tblHeadLinks.uID 
FROM tblHeadLinks 
INNER JOIN tblMainpage ON tblHeadLinks.mainpage = tblMainpage.uID 
WHERE tblHeadLinks.uID =" & tal

(Jag var bara tvungen att göra din kod läsbar).

Så: kör SQL-frågan i Access. Får du rätt resultat?
I övrigt är inte text något bra fältnamn, eftersom det är ett reserverat ord. Byt namn på fältet.

Medlem sedan juni 20019 519 inlägg
#3

1.

SELECT tblHeadLinks.layout, tblMainpage.topic, tblMainpage.text,
tblMainpage.position, tblHeadLinks.uID
FROM tblHeadLinks
INNER JOIN tblMainpage ON tblHeadLinks.mainpage = tblMainpage.uID
WHERE tblHeadLinks.uID =2

2. Access ritar ut den kod jag postade.

provade köra din SQL fråga med tal = 2 då får jag resultatet samma som om jag använder tal = 1 ... strange.

Medlem sedan juni 200032 967 inlägg
#4

2. Access ritar ut den kod jag postade.

Urk. Man ska aldrig lita på annat än människor när det gäller att skriva kod. ;)

Men vad får du för resultat när du ställer frågan direkt i Access? Inga poster? Är recordsetet tomt? Kontrollerar du verkligen det med if not recordsetet.eof then i asp-koden?

Medlem sedan juni 20019 519 inlägg
#5

skäms :r hade samma nummer på post 1 och post 2 därför gav de samma resultat :e

Medlem sedan juni 20019 519 inlägg
#6

Men i Access så blir det ok men med din kod i ASP:n så får jag samma fel.
jag provade skriva förhand:

("select tblHeadlinks.layout,tblMainpage.Topic from tblMainpage,tblHeadlinks WHERE tblHeadlinks.mainpage = tblMainpage.UID AND tblHeadlinks.uID = "&tal)

och det fungera kalas... vad kan bli problem?

Medlem sedan juni 200032 967 inlägg
#7

Vet inte, du får visa rätt kod i rätt asp-fil. Felmeddelandet kan ingalunda peka på din doctype-rad.

Medlem sedan juni 20019 519 inlägg
#8

nej med:

("select tblHeadlinks.layout,tblMainpage.Topic from tblMainpage,tblHeadlinks WHERE tblHeadlinks.mainpage = tblMainpage.UID AND tblHeadlinks.uID = "&tal)

fungera det kalas.... men är det så "bra" skrivit?

Medlem sedan dec. 200012 464 inlägg
#9

Det är inget fel på den, det är bara de omgivande parenteserna som är onödiga.

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