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
Annonceindlæg fra Deloitte
...? 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>
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?
Hov en fejl... strSQL = "SELECT * FROM Personer WHERE Navn > "& navn &"" skiftes ud med strSQL = "SELECT * FROM Personer WHERE Navn = "& navn &""
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
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
Har du sat din egen forbindelse til DB på?
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
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 :-)
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>
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)
23. juli 2004 - 00:49
#13
Set rs = Conn.Execute(strSQL)
23. juli 2004 - 00:49
#14
Set Conn = Server.CreateObject("ADODB.Connection") derfor: Set rs = Conn.Execute(strSQL) Du bruger jo "Set Conn = ...."..
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
23. juli 2004 - 00:52
#17
thesurfer _/- Its late !-)
23. juli 2004 - 00:54
#18
Undskyld der står også: Set rs = Conn.Execute(strSQL) Fejlen som det ses melder "Execute"
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..
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>
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
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
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..
23. juli 2004 - 16:49
#26
Det godt at det virker ;-)
Kurser inden for grundlæggende programmering