Avatar billede riishoj Nybegynder
21. april 2002 - 11:20 Der er 17 kommentarer og
1 løsning

Fejl i db-tilslutning

Kan nogen se, hvad jeg gør galt her? Det virker desværre ikke.

<% Response.Buffer = True %>
<html><head>
<title>Søgeresultat</title>
</head><body>

<%
' Henter værdien fra search.htm
strKeyword = Trim(Request.Form("Keyword"))

If Len(strKeyword) = 0 Then
    ' Hvis der ikke er skrevet i feltet
    Response.Clear
    Response.Redirect("search.htm")
Else
    ' Hvis der er skrevet i feltet
    strKeyword = Replace(strKeyword,"'","''")
End If

' Opbygger en dynamisk SQL streng
strSQL = "SELECT ID, Navn, Adresse, Bynavn, Beskrivelse FROM Kunder WHERE"
strSQL = strSQL & " (Navn LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Adresse LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Bynavn LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Beskrivelse LIKE '%" & strKeyword & "%')"

' Skaber DSN forbindelse til DBen
Set dbConn = Server.CreateObject("ADODB.Connection")
dbConn.Open "DSN=riishojwebsoftdkdsn"
Conn.Open ConnString


' Skaber et recordset udfra SQL strengen
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
    ' Hvis der er fundet poster på søgningen
    Response.Write "<p>Søgeresultat</p>"
    Response.Write "<table border=1>"
    Response.Write "<tr><th>Navn</th><th>Adresse</th><th>By</th><th>Beskrivelse</th></tr>"
    Do While Not rs.EOF
        Response.Write "<tr><td>" & rs("Navn") & "</td>"
        Response.Write "<td>" & rs("Adresse") & "</td>"
        Response.Write "<td>" & rs("Bynavn") & "</td>"
        Response.Write "<td>" & rs("Beskrivelse") & "</td></tr>"
        rs.MoveNext
    Loop
    Response.Write "</table>"
Else
    ' Hvis der ikke er fundet poster på søgningen
    Response.Write "<p>Der er ikke fundet noget på denne søgning</p>"
End If

' Rydder op efter os
myConn.Close
Set myConn = Nothing
%>

</body></html>
Avatar billede Slettet bruger
21. april 2002 - 11:21 #1
Hvilken fejl får du?
Avatar billede riishoj Nybegynder
21. april 2002 - 11:30 #2
Microsoft VBScript runtime error '800a01a8'

Object required: ''

/database/search.asp, line 29
Avatar billede Slettet bruger
21. april 2002 - 11:33 #3
og hvad står der i linie 29?
Avatar billede Slettet bruger
21. april 2002 - 11:35 #4
Du åbner jo to gange....:

dbConn.Open "DSN=riishojwebsoftdkdsn" Åben
Conn.Open ConnString Ahh åben lige igen
Avatar billede Slettet bruger
21. april 2002 - 11:36 #5
Den hedder sørme også: myConn nogle steder.
Avatar billede rou Nybegynder
21. april 2002 - 11:38 #6
Du har faktisk 3 connection objecter i din kode, det ligner noget værre rod.

dbConn
Conn
og myConn
Avatar billede riishoj Nybegynder
21. april 2002 - 11:41 #7
Kan en af jer ikke rydde lidt op i rodet? Jeg har vist mistet overblikket!
Avatar billede Slettet bruger
21. april 2002 - 11:55 #8
Fjern denne linie:
Conn.Open ConnString
Avatar billede Slettet bruger
21. april 2002 - 11:56 #9
ændre alle myConn til dbConn
Avatar billede Slettet bruger
21. april 2002 - 11:57 #10
Så burde det virke.
Avatar billede riishoj Nybegynder
21. april 2002 - 12:05 #11
Så sker der dette her:

ADODB.Recordset.1 error '80004005'

SQLState: S0002
Native Error Code: -1305
[INTERSOLV][ODBC SequeLink driver][ACCESS][Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot find the input table or query 'Kunder'. Make sure it exists and that its name is spelled correctly.


/database/search.asp, line 33

Jeg har en tabel i databasen som hedder Kunder , og det er stavet rigtigt!
Avatar billede eagleeye Praktikant
21. april 2002 - 12:22 #12
Så tror jeg at riishojwebsoftdkdsn peger på en forkert database fil. Prøv at tjekke at det er den rigtige fil.
Avatar billede riishoj Nybegynder
21. april 2002 - 12:35 #13
Underligt. Prøv at kig på nedenstående. Tabellen ligger i samme database som kunder, og den virker!

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Hente data fra database</title>
</head>

<body>

<%
ConnString = "DSN=riishojwebsoftdkdsn"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConnString

' SQL forespørgsel
strSQL = "Select * from personer"
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

' Gennemløb Recordset (rs) med en løkke
Do

  ' Udskriv værdien af kolonnen Fornavn
  Response.Write rs("Fornavn") & "<br>"

  ' Gå til næste Record i rs
  rs.MoveNext

' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
Loop While Not rs.EOF

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
</body>
</html>
Avatar billede eagleeye Praktikant
21. april 2002 - 12:41 #14
Ja så skulle den jo havde fat i den rigtige fil.

Kan du ikke bare for en sikkerhedsskyld prøve at kikke om Kunder evt. ved en fejl har fået et andet navn.
Avatar billede riishoj Nybegynder
21. april 2002 - 12:49 #15
Jeg har prøvet at slette tabellen´og kopiere den til databasen igen, men det giver samme resultat. Navnet er rigtigt
Avatar billede riishoj Nybegynder
21. april 2002 - 13:27 #16
Der er et eller andet galt med min tabel som hedder Kunder. (Jeg har downloaded den fra aktivedeveloper.dk). Har fået forbindelsen til at virke ved at indsætte en anden tabel. Giver points til schulze, da det var ham, som fandt fejlen i scriptet.
Avatar billede eagleeye Praktikant
21. april 2002 - 13:29 #17
Er siten for riishojwebsoftdkdsn  angive relativ med ..\..\folder\databasefil eller er den angivet d:\xxx\folder\databsefil ?

Hvis man kan angive på den første måde kan det måske være den finder en forkert fil. Men som jeg lige husker det angiver man det med en fast sti.
Avatar billede riishoj Nybegynder
05. maj 2002 - 10:28 #18
Problemet løst. Skyldtes noget rod med dens server min db ligger på!
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