Avatar billede carlo1234 Nybegynder
22. juli 2004 - 22:57 Der er 26 kommentarer

check database og udskriv

Hej igen
har nogen tid? - så har jeg et spørgsmål.
Jeg søger løsning på dette:
Brugerne har andet sted kunne lægge data i en database - der har de også lagt deres navn.

Nu skal de på en ny side kunne indtaste deres navn i et formfelt hvorefter der bliver søgt i databasen for slutteligt at udskrive alt hvad det pågældende navn tidligere har lagt i databasen.

databasen hedder personer, tabellen oplysninger og feltet med navne hedder navn

jeg håber en og anden vil sammensætte et script til dette.
På forhånd tak

M.v.h. Bjarne
Avatar billede jamiros Novice
22. juli 2004 - 23:03 #1
Access?
Avatar billede jamiros Novice
22. juli 2004 - 23:10 #2
...? Måske noget lign.....

<!-- #INCLUDE FILE="DinConnection.inc" -->
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strconnect

Navn = Replace(request.form("Navn"), "'", "''")

strSQL = "SELECT * FROM Personer WHERE Navn > "& navn &""
Set rs = Conn.Execute(strSQL)
%>
<html>
<body>
<%=rs("Oplysninger")%>
</body>
</html>
Avatar billede carlo1234 Nybegynder
22. juli 2004 - 23:14 #3
ja det er Access
Avatar billede jamiros Novice
22. juli 2004 - 23:25 #4
indtast_navn.asp
-------------------------------------
<html>
<body>
<form action="oplysninger.asp" method="post" name="form">
<input type="text" name="navn" size="16" border="0"><br>
<input type="submit" name="submitButtonName" value="find oplysninger" border="0">
</form>
</body>
</html>




oplysninger.asp
-----------------------------------------

<!-- #INCLUDE FILE="DinConnection.inc" -->

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strconnect

Navn = Replace(request.form("Navn"), "'", "''")

strSQL = "SELECT * FROM Personer WHERE Navn > "& navn &""
Set rs = Conn.Execute(strSQL)
%>
<html>
<body>
<%=rs("Oplysninger")%>
</body>
</html>

------------------------------------

Kan det bruges?
Avatar billede jamiros Novice
22. juli 2004 - 23:26 #5
Hov en fejl...

strSQL = "SELECT * FROM Personer WHERE Navn > "& navn &""

skiftes ud med

strSQL = "SELECT * FROM Personer WHERE Navn = "& navn &""
Avatar billede carlo1234 Nybegynder
23. juli 2004 - 00:11 #6
Hej jamiros
Tak for din (igen) store hjælp.
Jeg får lidt fejl og jeg skrev forkert før.
Databasens tabel hedder "oplysninger" og feltet med brugerens navn hedder "hfs"
Jeg kan se at input fra forfelt hedder "navn"

Jeg prøver lige at se lidt mere på det
Avatar billede carlo1234 Nybegynder
23. juli 2004 - 00:26 #7
Ved du hvorfor jeg får denne:

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

Linien er:
Conn.Open strconnect
Avatar billede jamiros Novice
23. juli 2004 - 00:27 #8
Har du sat din egen forbindelse til DB på?
Avatar billede carlo1234 Nybegynder
23. juli 2004 - 00:30 #9
Jeps og den ser sådan ud (og virker da normalt)

set database = Server.CreateObject("ADODB.Connection")
    connect="Driver={Microsoft Access Driver (*.mdb)}; DBQ="& server.mappath("../databaser/personer.mdb")
    database.Open connect
Avatar billede jamiros Novice
23. juli 2004 - 00:38 #10
Fjern det her fra det jeg skrev..
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strconnect

Og prøv det her...
Set Conn = Server.CreateObject("ADODB.Connection")
connect="Driver={Microsoft Access Driver (*.mdb)}; DBQ="& server.mappath("../databaser/personer.mdb")
Conn.Open strconnect

Jeg er ikke for skarp i connections....men prøve det kan man da :-)
Avatar billede thesurfer Nybegynder
23. juli 2004 - 00:46 #11
Man bør *altid* teste om der er records/poster i databasen:

Set rs = Conn.Execute(strSQL)
%>

<html>
<body>
<% if not (rs.bof or rs.eof) then response.write rs("Oplysninger") %>
</body>
</html>
Avatar billede carlo1234 Nybegynder
23. juli 2004 - 00:47 #12
Nå jeg kom da ved at ændre lidt længere ned som du ser

Fejlen nu:
Microsoft VBScript runtime (0x800A01B6)
Object doesn't support this property or method: 'Execute'

Og linien er nu:
Set rs = data.Execute(strSQL)
Avatar billede jamiros Novice
23. juli 2004 - 00:49 #13
Set rs = Conn.Execute(strSQL)
Avatar billede thesurfer Nybegynder
23. juli 2004 - 00:49 #14
Set Conn = Server.CreateObject("ADODB.Connection")

derfor:

Set rs = Conn.Execute(strSQL)

Du bruger jo "Set Conn = ...."..
Avatar billede thesurfer Nybegynder
23. juli 2004 - 00:50 #15
jamiros> Du skriver både "connect" og "strconnect" i 23/07-2004 00:38:41:

connect="Driver={Microsoft Access Driver (*.mdb)}; DBQ="& server.mappath("../databaser/personer.mdb")
Conn.Open strconnect
Avatar billede thesurfer Nybegynder
23. juli 2004 - 00:51 #16
carlo1234> Læs lige lektionerne 17-22 på http://www.html.dk/tutorials/asp/
Avatar billede jamiros Novice
23. juli 2004 - 00:52 #17
thesurfer _/- Its late !-)
Avatar billede carlo1234 Nybegynder
23. juli 2004 - 00:54 #18
Undskyld der står også:
Set rs = Conn.Execute(strSQL)

Fejlen som det ses melder "Execute"
Avatar billede thesurfer Nybegynder
23. juli 2004 - 00:54 #19
jamiros> yep :-)

carlo1234> http://www.html.dk/tutorials/asp/ er en god side, at lære ASP fra.. :-)
Avatar billede thesurfer Nybegynder
23. juli 2004 - 00:55 #20
carlo1234> smid hele "opret forbindelse" + sql + sql-execute koden herind.. der er et eller andet galt i din kode..
Avatar billede carlo1234 Nybegynder
23. juli 2004 - 00:58 #21
<%
dim database
dim connect
'åbner databasen
set database = Server.CreateObject("ADODB.Connection")
    connect="Driver={Microsoft Access Driver (*.mdb)}; DBQ="& server.mappath("../databaser/personer.mdb")
    database.Open connect
%>

<%
dim Conn
dim navn
dim strSQL
dim rs
Set Conn=Server.CreateObject ("ADODB.Recordset")
Conn.Open "Select * FROM oplysninger",database


Navn = Replace(request.form("hfs"), "'", "''")

strSQL = "SELECT * FROM oplysninger WHERE hfs = "& navn &""
Set rs = Conn.Execute(strSQL)
%>
<html>
<body>
<%=rs("oplysninger")%>
</body>
</html>
Avatar billede thesurfer Nybegynder
23. juli 2004 - 01:00 #22
carlo1234> Læs venligst http://www.html.dk/tutorials/asp/lektion19.asp
Så vil du kunne se fejlen :-)

Nogen gange lærer man bedst, når man selv prøver :-)
Avatar billede thesurfer Nybegynder
23. juli 2004 - 01:02 #23
Og en anden ting.. hvis feltet "hfs" er ikke-tal (dvs må indeholde andre tegn end tal), skal det være:

WHERE hfs = '" & navn & "'"

Hvis feltet er af typen "tal" (dvs kun 0-9, ingen bogstaver), skal det bare være:

WHERE hfs = " & navn
Avatar billede carlo1234 Nybegynder
23. juli 2004 - 12:50 #24
Hej jamiros
Jeg fandt fejlen. Linien herunder som du beskrev tidligere var der fejl i...
strSQL = "SELECT * FROM Personer WHERE Navn = "& navn &""

Den skal se sådan ud:
strSQL = "SELECT * FROM Personer WHERE Navn = '"& navn &"'"

Nu virker det perfekt
Avatar billede thesurfer Nybegynder
23. juli 2004 - 15:10 #25
Lige et par ting.. det var mig der kom med infoen om '-tegnene..
og, hedder tabellen "oplysninger" eller "personer"?

Jeg tror at du har blandet din egen tabel, med eksemplet i lektionen http://www.html.dk/tutorials/asp/lektion19.asp

Men selve '-tegnet, har ingen betydning på fejlen:
Object doesn't support this property or method: 'Execute'

Fejlen referer til linien "Set NogetHer = ..." ..

Hvis det var pga '-tegnene, ville du få en "type mismatch"-fejl i stedet for "object"-fejlen..
Avatar billede jamiros Novice
23. juli 2004 - 16:49 #26
Det godt at det virker ;-)
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