Avatar billede Slettet bruger
02. juni 2006 - 20:45 Der er 18 kommentarer og
1 løsning

Fejl ved kode

Hej.

Jeg har lavet en kode. Den skal vise en gæstebog. Men jeg kan ikke få den til at vise det den skal. Du kan se ASP koden her
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/db/brugersystem.mdb")
Conn.Open DSN


Set rs = Conn.Execute("Select * From GB WHERE ProfilID = " & Request.Querystring("id") & " ORDER BY id desc")
Do
  ' Personens navn
strOverskrift = rs("profilID")
response.write StrOverskrift

  rs.MoveNext
Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>
´Med koden virker ikke..
Avatar billede musicchart.dk Nybegynder
02. juni 2006 - 21:06 #1
Hvad er fejlen, og er ProfilID et tal eller en streng?
Avatar billede Slettet bruger
02. juni 2006 - 21:23 #2
Avatar billede keysersoze Ekspert
02. juni 2006 - 23:15 #3
hvilken felttype er ProfilID?
Avatar billede Slettet bruger
02. juni 2006 - 23:31 #4
Det er text
Avatar billede keysersoze Ekspert
03. juni 2006 - 00:09 #5
nu ved jeg ikke om de enkelt-plinger du har sat i linket også er med i koden - hvis ikke skal din sql se sådan ud;

Select * From GB WHERE ProfilID = '" & Request.Querystring("id") & "' ORDER BY id desc

ellers må du lige fortælle hvilken fejl du reelt får
Avatar billede Slettet bruger
03. juni 2006 - 12:10 #6
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/profil_gb_vis.asp, line 16
Avatar billede keysersoze Ekspert
03. juni 2006 - 12:12 #7
er det så med eller uden plingerne?
Avatar billede Slettet bruger
03. juni 2006 - 12:35 #8
Begge dele
Avatar billede keysersoze Ekspert
03. juni 2006 - 12:39 #9
hvordan ser dit link helt præcis ud nu - og hvordan ser din sql helt præcist ud.
Avatar billede Slettet bruger
03. juni 2006 - 13:22 #10
www.leol.dk/profil_gb_vis.asp?id=1
I min database har jeg et felt der hedder profilID det er brugerens id. Så vil jeg godt have sådan at den gemmer profilens id og så skal den så kun vise det fra databasen hvor profilid er = 1 fordi id=1 i http://. Jeg har lavet en debat hvor det virkede fint . Debatten var med en kommentare system..
Avatar billede keysersoze Ekspert
03. juni 2006 - 13:25 #11
og med det link - hvordan ser din sql så ud nu? sådan;

Select * From GB WHERE ProfilID = '" & Request.Querystring("id") & "' ORDER BY id desc

?
Avatar billede Slettet bruger
03. juni 2006 - 13:32 #12
Hov. Det virker nu. Troede at den havde gemt den: Select * From GB WHERE ProfilID = '" & Request.Querystring("id") & "' ORDER BY id desc
Avatar billede Slettet bruger
03. juni 2006 - 13:33 #13
Men jeg kan bare ikke få den til at oprette besked
Avatar billede keysersoze Ekspert
03. juni 2006 - 13:36 #14
tekstfelter skal altid være omkrænset af enkeltpling modsat talfelter.
Avatar billede Slettet bruger
03. juni 2006 - 13:44 #15
Jamen. Vi er ikke færdige. Vi mangler at få den til at kunne oprette. Min "opret"-kode ser sådan her ud:
<%
dim id
ID = Request.Querystring("id")
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("/db/brugersystem.mdb")
Conn.Open DSN

strSQL = "Insert Into GB (besked, brugernavn, brugerID, ProfilID)  values('" & request.form("besked") & "', '" & request.form("Brugernavn") & "', '" & request.form("BrugerID") & "', '" & Request.Querystring("id") & "')"
Set rs = Conn.Execute(strSQL)
    Conn.Execute(strSQL)
    Conn.Close
    Set Conn = Nothing
    response.redirect("profil_gb.asp?id=" & Request.Querystring("id"))
%>
<form action="http://leol.dk/profil_gb.asp?id=<%= ID %>" method="post">
<%
If isEmpty(Session("UserID")) Then
%>
<input type="hidden" name="Brugernavn" value="Gæst" id="loginform">
<% else %>

<%
if session("UserID") <> "" then
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/db/brugersystem.mdb")
set rs = Conn.execute("select * from bruger WHERE id=" & session("UserID") & "")
if NOT rs.EOF then
%>
<input type="hidden" name="Brugernavn"  id="loginform" value="<% response.write rs("Brugernavn") %>">
<%
end if
rs.close
set rs=nothing
Conn.close
set Conn=nothing
end if
end if
%>
<%
if session("UserID") <> "" then
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/db/brugersystem.mdb")
set rs = Conn.execute("select * from bruger WHERE id=" & session("UserID") & "")
if NOT rs.EOF then
%>
<input type="hidden" name="BrugerID" value="<% response.write rs("Id") %>">
<%
end if
rs.close
set rs=nothing
Conn.close
set Conn=nothing
end if
%>
<input type="text" name="besked">
<input type="submit" value="Skriv">
</form>

<iframe src="Profil_gb_Vis.asp?id=<%=Request.Querystring("id")%>" width="100%" height="100%"></iframe>
Avatar billede keysersoze Ekspert
03. juni 2006 - 13:48 #16
nu gik det oprindelige spørgsmål sådan set kun på koden i forbindelse med visning - derfor ville jeg umiddelbart mene, at det du kommer med nu er et nyt spørgsmål, der kræver en ny oprettelse...

men hvad så med den sidst postede kode - skal jeg selv gætte mig til fejlen eller?
Avatar billede Slettet bruger
03. juni 2006 - 13:50 #17
Nej, du skal ikke gætte. Den opretter ikke mere efter den fik "læse" beskeder til at virke
Avatar billede keysersoze Ekspert
03. juni 2006 - 13:53 #18
hvis ikke der kommer en fejl kan jeg ikke se hvorfor - så må du prøve at fejlsøge lidt selv ved at udskrive hjælpevariabler undervejs i dit script for at se hvor langt det når.
Avatar billede keysersoze Ekspert
05. august 2006 - 14:37 #19
kommet videre?
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