01. december 2002 - 16:35
Der er
17 kommentarer
vis databasen er tom
hej læser jeg har en kunde database som ordre i.. mit sp. er: jeg skal bruge et script til vis min database er tom så skal den skrive at den er tom.. //technodance.dk//
Annonceindlæg fra Computerworld
01. december 2002 - 16:37
#1
Du kan tjekke på om et recordset er tomt med EOF..: SQL = "SELECT * FROM tabel" Set rs = Connection.Execute(SQL) if rs.EOF then Response.write "Databasen er tom :(" else end if
01. december 2002 - 16:43
#2
jeg får denne fejl når der ikke nået i databasen: ADODB.Field error '80020009' Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. /bruger2003/besked/vis_besked.asp, line 0
01. december 2002 - 16:45
#3
hvordan ser koden ud?
01. december 2002 - 16:56
#4
hvis dine data ligger i arrayet oRs og der skal være data for at du eksekverer: if(oRs.BOF | oRs.EOF) { Response.Write("ingen data") } if(!oRs.BOF | !oRs.EOF) { Response.Write("der er data!") } Dette ville virke i JScript & med lidt held i VBS. =)
01. december 2002 - 17:50
#5
her er coden: <% Response.Buffer = True strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../../../database/bruger.mdb") Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open strDSN %> <% sql ="SELECT * FROM besked Where kundenummer =" & Request.Querystring("kundenummer") Set Rs = Conn.Execute(sql) %>
01. december 2002 - 17:54
#6
Så prøv at tilføje efter SQL sætnignen: <% sql ="SELECT * FROM besked Where kundenummer =" & Request.Querystring("kundenummer") Set Rs = Conn.Execute(sql) if rs.EOF then Response.write "Databasen er tom :(" else 'Udskriv fra databasen her evt i et loop end if
01. december 2002 - 19:47
#7
den viser fejlen endnu
01. december 2002 - 20:30
#8
der nogle andre der kan komme med et svar
01. december 2002 - 20:33
#9
Prøv at rette if sætnigen fra: if rs.EOF then til: if rs.EOF OR rs.BOF then
01. december 2002 - 20:42
#10
her der hele siden kan i så hjælpe mig håb (---------------------------------------------) <% Response.Buffer = True strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../../../database/bruger.mdb") Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open strDSN %> <% sql ="SELECT * FROM besked Where kundenummer =" & Request.Querystring("kundenummer") Set Rs = Conn.Execute(sql) %> <html> <head> <meta http-equiv="Content-Language" content="da"> <meta name="GENERATOR" content="Microsoft FrontPage 5.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>vis besked</title> </head> <body bgcolor="#0B99EE"> <p> </p> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1"> <tr> <td width="100%"> <p align="center"><b><font size="5">Indbakke for din Beskeder</font></b></p> <div align="center"> <center> <table border="1" cellpadding="0" cellspacing="0" style="border-style:solid; border-collapse: collapse; font-weight: bold; " bordercolor="#FFFFFF" width="503" id="AutoNumber3"> <tr> <td width="116" style="border-style: none; border-width: medium"> <p align="center"> <a href="vis_besked.asp?kundenummer=<%=rs("kundenummer")%>">Check Post</a></td> <td width="137" style="border-style: none; border-width: medium"> <p align="center"> <a href="skriv.asp?id=<%=rs("kundenummer")%>">Send Post</a></td> <td width="158" style="border-style: none; border-width: medium"> <p align="center"> </p> </td> <td width="92" style="border-style: none; border-width: medium"> </td> </tr> </table> </center> </div> <div align="center"> <center> <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-left-width: 0; border-right-width: 0; border-top-width: 0" bordercolor="#FFFFFF" width="503" id="AutoNumber2" height="46"> <tr> <td width="9%" style="border-left-color: #FFFFFF; border-left-width: 1" height="1"> <p align="center"><b>Slet</b></td> <td width="10%" style="border-right-color: #FFFFFF; border-right-width: 1" height="1"> <b>Afsender</b></td> <td width="81%" style="border-right-color: #FFFFFF; border-right-width: 1" height="1"> <b>Besked</b></td> </tr> <% Do While Not rs.EOF %> <tr> <td width="9%" style="border-left-color: #FFFFFF; border-left-width: 1" height="17"> <p align="center"> <b><a href="slet_besked.asp?id=<%=rs("id")%>">Slet</a></b></p> </td> <td width="10%" style="border-right-color: #FFFFFF; border-right-width: 1" height="17"> <p align="center"><b><font color="#FFFFFF"><%=rs("fra")%></font></b></td> <td width="81%" style="border-right-color: #FFFFFF; border-right-width: 1" height="17"> <b><font color="#FFFFFF"><%=rs("besked")%></font></b></td> <% Rs.MoveNext Loop Conn.Close Set Conn = Nothing %> </tr> </table> </center> </div> </td> </tr> </table> </body> </html> (-------------------------------------------------------)
01. december 2002 - 20:50
#11
Der bliver udskrivet fra recordsetet unden tjek på om det er tomt og uden for loopet som ellers ville sikre der ikke blev udskrevet hvis det var tomt. Det sker eksvis her: <a href="vis_besked.asp?kundenummer=<%=rs("kundenummer")%>">Check Post</a></td> ------ Prøv efter <body bgcolor="#0B99EE"> at tilføje: <body bgcolor="#0B99EE"> <% if rs.EOF or rs.BOF then %> og igen før </body> <% else %> <center>Databasen er tom!</center> <% end if%> </body>
01. december 2002 - 21:25
#12
kan ud ikke skrive det jeg forstå det ikke lige så godt
01. december 2002 - 21:25
#13
du
01. december 2002 - 21:36
#14
Fejlen "Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record." kommer fordi man udskriver fra et recordset som er tomt. For at sikre sig man ikke får fejlen laver man loops med "do while not rs.EOF" som du også har. Men inden det uskriver du rs("et_kolonnenavn") og dermed kommer fejlen... så prøv at rette din kode til: <% Response.Buffer = True strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../../../database/bruger.mdb") Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open strDSN %> <% sql ="SELECT * FROM besked Where kundenummer =" & Request.Querystring("kundenummer") Set Rs = Conn.Execute(sql) %> <html> <head> <meta http-equiv="Content-Language" content="da"> <meta name="GENERATOR" content="Microsoft FrontPage 5.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>vis besked</title> </head> <body bgcolor="#0B99EE"> <% if rs.EOF or rs.BOF then %> <p> </p> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1"> <tr> <td width="100%"> <p align="center"><b><font size="5">Indbakke for din Beskeder</font></b></p> <div align="center"> <center> <table border="1" cellpadding="0" cellspacing="0" style="border-style:solid; border-collapse: collapse; font-weight: bold; " bordercolor="#FFFFFF" width="503" id="AutoNumber3"> <tr> <td width="116" style="border-style: none; border-width: medium"> <p align="center"> <a href="vis_besked.asp?kundenummer=<%=rs("kundenummer")%>">Check Post</a></td> <td width="137" style="border-style: none; border-width: medium"> <p align="center"> <a href="skriv.asp?id=<%=rs("kundenummer")%>">Send Post</a></td> <td width="158" style="border-style: none; border-width: medium"> <p align="center"> </p> </td> <td width="92" style="border-style: none; border-width: medium"> </td> </tr> </table> </center> </div> <div align="center"> <center> <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-left-width: 0; border-right-width: 0; border-top-width: 0" bordercolor="#FFFFFF" width="503" id="AutoNumber2" height="46"> <tr> <td width="9%" style="border-left-color: #FFFFFF; border-left-width: 1" height="1"> <p align="center"><b>Slet</b></td> <td width="10%" style="border-right-color: #FFFFFF; border-right-width: 1" height="1"> <b>Afsender</b></td> <td width="81%" style="border-right-color: #FFFFFF; border-right-width: 1" height="1"> <b>Besked</b></td> </tr> <% Do While Not rs.EOF %> <tr> <td width="9%" style="border-left-color: #FFFFFF; border-left-width: 1" height="17"> <p align="center"> <b><a href="slet_besked.asp?id=<%=rs("id")%>">Slet</a></b></p> </td> <td width="10%" style="border-right-color: #FFFFFF; border-right-width: 1" height="17"> <p align="center"><b><font color="#FFFFFF"><%=rs("fra")%></font></b></td> <td width="81%" style="border-right-color: #FFFFFF; border-right-width: 1" height="17"> <b><font color="#FFFFFF"><%=rs("besked")%></font></b></td> <% Rs.MoveNext Loop Conn.Close Set Conn = Nothing %> </tr> </table> </center> </div> </td> </tr> </table> <% else %> <center>Databasen er tom!</center> <% end if%> </body> </html>
02. december 2002 - 00:59
#15
her så kan du selv se havd den skriver
Http://asp-server.dk/bruger2003 kundenummer: 12345678
password: 12345678
så skal vu klikke på test
ud for beskeder: indbakke
02. december 2002 - 01:21
#16
Jeg har brugt en til min ene side... Det var en database hvor til du havde mulighed for at uploade et billede og se dem bagefter på en asp side... Men den skrev når databasen var tom <% Set DataConn = Server.CreateObject("ADODB.Connection") DataConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath("Database.mdb") & "" SQL = "Select * From Billeder" Set RS = DataConn.Execute(SQL) If (RS.EOF Or RS.BOF) Then Response.Write("Der er ingen billeder i databasen.") Else Do Until Rs.EOF Response.Write("<img border=""1"" src=""Vis_billede.asp?Id=" & RS("Id") & """> ") Rs.MoveNext Loop End If RS.Close Set RS = Nothing DataConn.Close Set DataConn = Nothing %> Kun et foreslag
05. december 2002 - 01:52
#17
afvis på grund fra: det skal være som jeg har sat min design op at dem skal skrive dat der er ikke nogle beskeder... og det skal den kun skrive vis der ikk er noget i databasen .:technodance.dk//:.
Kurser inden for grundlæggende programmering