Avatar billede -sofus- Nybegynder
31. marts 2003 - 13:53 Der er 18 kommentarer

Seriøst skummelt problem

Jeg sidder og roder med et hjemmebixet banner styrings system, men jeg har en seriøst skummelt problem

SELECT * FROM T_Banner, T_Type, T_Format,T_Priotet WHERE  banner_land_id = " & Request.QueryString("land") & ") AND  Banner_type_id = type_id AND banner_format_id = format_id AND banner_priotet_id = priotet_id order by "& Request.QueryString("order") &"

Den virker perfekt, når jeg skal lave udtræk, men når jeg kommer til <%= rs("format_id") %> så skriver den intet.

Jeg kan godt hente andre værdier fra samme tabel, og hvis jeg kører SQL stringen i min Query analyser så for jeg også værdien.

Jeg ved det er noget simpelt jeg har overset, men kan bare ikke finde en fejl.
Avatar billede hbhansen Nybegynder
31. marts 2003 - 13:55 #1
Kan det være at fetet både findes i T_Banner og T_Type og den derved ikke ved hvilket af felterne den skal udskrive?
Avatar billede -sofus- Nybegynder
31. marts 2003 - 13:57 #2
Nej det gør det ikke.

desuden så er det format_navn jeg er ude efter, har bare skrevet forkert i spm.
Avatar billede hbhansen Nybegynder
31. marts 2003 - 13:58 #3
Prøv lige at skriv lidt asp kode så jeg kan se hvor i koden du trækker værdierne.
Avatar billede -sofus- Nybegynder
31. marts 2003 - 14:04 #4
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open strBanner
strSQL = "SELECT * FROM T_Banner, T_Type, T_Format,T_Priotet WHERE  (banner_land_id = " & Request.QueryString("land") & ") AND  Banner_type_id = type_id AND banner_format_id = format_id AND banner_priotet_id = priotet_id order by "& Request.QueryString("order") &" "
set rs = Conn.execute(strSQL)

set temp = Conn.Execute("select sum(banner_antal_klik) as total_klik from t_banner ")


if rs.EOF then
Response.write ""
else
Do Until rs.EOF

If farve=1 Then
bg="#eeeeee"
Farve= Farve + 1
Else
bg="#ffffff"
farve=1
End If

%> 

---Jeg kan godt hente-----
<%= rs("banner_navn") %>
<%= rs("format_storrelse") %>

---Jeg kan IKKE hente---
<%= rs("format_navn") %>

<%RS.MoveNext
Loop
end if
Conn.Close
Set Conn = Nothing%>
Avatar billede hbhansen Nybegynder
31. marts 2003 - 14:08 #5
Og du er sikker på at format_navn ikke forkommer to gange i de tabeller du bruger i sql?
Jeg går udfra at format_navn er fra T_Format!
Prøv at udvide dit sql statement med tabelnavne ved alle felter dvs.
strSQL = "SELECT * FROM T_Banner, T_Type, T_Format,T_Priotet WHERE  (T_Banner.banner_land_id = " & Request.QueryString("land") & ") AND  T_Banner.Banner_type_id = T_Type.type_id AND T_Banner.banner_format_id = T_Format.format_id AND T_Banner.banner_priotet_id = T_Prioritet.priotet_id order by "& Request.QueryString("order") &" "
Tjek lige selv efter om tabeller og felter passer sammen :-)
Avatar billede -sofus- Nybegynder
31. marts 2003 - 14:17 #6
Det gør ingen forskel at skrive tabelnavn foran feltnavn.
Avatar billede hbhansen Nybegynder
31. marts 2003 - 14:19 #7
Hmm, umiddelbart er der ikke noget galt med dit sql statement, så vidt jeg kan se  :-)
Hvordan er opbygningen af dine tabeller? Og er tallene i T_Banner.banner_format_id og T_Format.banner_format_id ens..
Avatar billede -sofus- Nybegynder
31. marts 2003 - 14:29 #8
Har lige lavet en mere simpel udgave, men stadig samme problem:


<!-- #include file="string.inc" -->
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open strBanner
strSQL = "SELECT * FROM T_Banner, T_Format WHERE t_banner.banner_format_id = t_format.format_id"
set rs = Conn.execute(strSQL)


if rs.EOF then
Response.write ""
else
Do Until rs.EOF


%> 


<%= rs("banner_navn") %> - <%= rs("format_storrelse") %> - <%= rs("format_navn") %> <br>

<%RS.MoveNext
Loop
end if
Conn.Close
Set Conn = Nothing%>
Avatar billede hbhansen Nybegynder
31. marts 2003 - 14:31 #9
Kan du få format_storrelse ud og ikke format_navn?
(Gætter på at de er fra samme tabel)..
Eller er det generelt alt der skal komme fra T_Format
Avatar billede -sofus- Nybegynder
31. marts 2003 - 14:35 #10
Jeg kan få format_storrelse men ikke format_navn

men jeg kan få det i query analyseren
Avatar billede hbhansen Nybegynder
31. marts 2003 - 14:37 #11
Det lyder virkeligt mærkeligt...
Jeg er næsten sikker på at der er noget galt med din database/tabel.. Prøv at slette tabellen og opret en ny, eller ændre navnet på feltet til noget andet.
Avatar billede jpvj Nybegynder
31. marts 2003 - 14:41 #12
Lyder mærkeligt, men prøv i første omgang at skifte kollenavn til et navn uden _ (ved godt det virker med format_storrelse), men alligevel...

_ skal i den del sammenhænge håndteres specielt.

JP
Avatar billede -sofus- Nybegynder
31. marts 2003 - 14:46 #13
Det hjalp ikke at skifte navnet på kolonen.
Avatar billede hbhansen Nybegynder
31. marts 2003 - 14:47 #14
Så må jeg nok melde pas, nu har jeg ikke flere ideér til hvad fejlen kan skyldes..
Avatar billede jpvj Nybegynder
31. marts 2003 - 14:50 #15
Kan du ikke udskrive alle kolonne navne fra dit query? Fra ASP naturligvis - se om der er andre "fejl" der kan lede dig på sporet?

Udskriv strSQL og post den her (dvs. før set rs = Conn.execute(strSQL)).

JP
Avatar billede -sofus- Nybegynder
31. marts 2003 - 14:52 #16
Jp jeg er ikke liige med på hvad du mener..
Avatar billede jpvj Nybegynder
01. april 2003 - 00:37 #17
>Kan du ikke udskrive alle kolonne navne fra dit query? Fra ASP naturligvis - >se om der er andre "fejl" der kan lede dig på sporet?
Ved ikke selv hvordan man gør, men det burde være muligt at se i result settet, hvilke kolonner der er tilrådighed.

>Udskriv strSQL og post den her (dvs. før set rs = Conn.execute(strSQL)).
Skriv
Response.Write(strSQL)
i en linie umiddelbart efter strSQL er defineret.

JP
Avatar billede -sofus- Nybegynder
20. august 2007 - 09:44 #18
Er lige igang med en hovedoprydning.

Tak til alle som har deltaget, hvis nogen mener de fortjener point, så smid
et svar, ellers forsvinder de sammen med udlandsgælden (;
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