Avatar billede moore Nybegynder
22. november 2006 - 12:26 Der er 12 kommentarer

type mismatch

Hej

Har følgende kode.. hvor den indsætter i en access tabel..
Samtidig vil jeg gerne have at den lige checker om den der nu skriver i min GB også har en "rigtig" IP adresse ..


Det hele har virket før.. men lige pludselig.. så virker det ikke mere !!!!!

Men den skriver følgende :

Insert into gastebog (Person, Email, Beskrivelse, IP) values ('', '', 'h', '85.82.223.30')
Microsoft VBScript runtime error '800a000d'

Type mismatch: 'oRS'

/gastebog/update.asp, line 21


Her er koden...

<% @language=VBScript %>
<%

set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("database.mdb")


Person = request.form ("Person")
Email = request.form("Email")
Beskrivelse = request.form ("Beskrivelse")
IP = Request.ServerVariables("REMOTE_ADDR")


  strSQL = "Insert into gastebog (Person, Email, Beskrivelse, IP) values ('" & Person & "', '" & Email & "', '" & Beskrivelse & "', '" & IP & "')"
  response.write strSQL
  Conn.Execute(strSQL)



Do
If request.servervariables("REMOTE_ADDR") = oRS("BANIP") Then
Response.Redirect("http://www.cia.gov")
End If
Loop While Not rs.EOF




    conn.Close
    set conn = nothing

   
Set JMail = Server.CreateObject("JMail.SMTPMail")

JMail.ServerAddress = "mail.thomasknielsen.dk"

JMail.Sender = "info@thomasknielsen.dk"
JMail.Subject = "Der er kommet et indlæg i gæstebogen"

JMail.AddRecipient "musikeren@webspeed.dk"

' 1 - highest priority (Urgent)
' 3 - normal
' 5 - lowest
JMail.Priority = 1

JMail.Execute
   
   
   
   
response.redirect ("/index.asp?id=8")
%>
Avatar billede keysersoze Guru
22. november 2006 - 12:32 #1
hvorhenne laver du dit database-udtræk så dit recordset oRS bliver dannet?
Avatar billede moore Nybegynder
22. november 2006 - 12:36 #2
Det gør jeg i en anden fil... gastebog.asp

Her er koden til den..


Set objConn = Server.CreateObject("ADODB.Connection")

'--oprette recordset
objconn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("gastebog/database.mdb")
Set oRS = Server.CreateObject("ADODB.Connection")





'--Åbne recordset
set oRS = objConn.Execute("SELECT Person, Email, Beskrivelse FROM gastebog")





'--Udskriv poster

   
'udskriv header(feltnavn)
response.write "<p >"
    Response.Write "<tr bgColor=#CDC9C9>"
   
        For i = 0 to oRS.Fields.Count - 1

            Response.Write "<td><font face=arial size=1><b>" & oRS.fields.item(i).name & "</b></font></td>"
           
        Next
response.write "</p>"
    Response.Write "</tr>"

    'udskriv krop (feltpost)

    j=0
   
    Do While Not oRS.EOF

   
   
   
    j=j+1
   
        if(j mod 2)=0 then
       
        Response.Write "<tr bgColor=#F8F8FF>"
            else Response.Write "<tr bgColor=#847287>"
           
           
        End if
       

            response.write "<td width=150><font face=arial size=2>" & oRS("Person") & "</font></td>"
            response.write "<td><font face=arial size=2>" & oRS("Email") & "</b></font></td>"
            response.write "<td><font face=arial size=2>" & oRS("Beskrivelse") & "</b></font></td>"
            'response.write "<td>" & oRS("IP") & "</td>"       
           
           
           
           
        oRS.MoveNext
   

       
    Loop
   



oRS.Close
Set oRS = Nothing
objConn.Close
Set objConn = Nothing
%>
Avatar billede keysersoze Guru
22. november 2006 - 12:42 #3
men hvad har den fil med update.asp at gøre - det er jo deri du forsøger at benytte dit recordset. Ovenstående hiver jo umiddelbart nogle helt andre data ud og benyttes i en anden sammenhæng.
Avatar billede moore Nybegynder
22. november 2006 - 12:54 #4
Havde også lavet en anden kode... som jeg har lagt i toppen af min update.asp.. men når jeg så kører koden.. så skriver den følgende :
Aner virkelig IKKE hvad der er gået galt ... alt har virket 100%...

Microsoft VBScript runtime error '800a01a8'

Object required: 'Reponse'

/gastebog/secure.asp, line 5

--------- secure.asp --------
<%
Reponse.Buffer = True

set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("database.mdb")

Do
If request.servervariables("REMOTE_ADDR") = oRS("BANIP") Then
Response.Redirect("http://www.cia.gov")
End If
Loop While Not rs.EOF

    conn.Close
    set conn = nothing
%>
Avatar billede keysersoze Guru
22. november 2006 - 13:20 #5
med al respekt - så tvivler jeg på at meget af det kan have virkert. i secure.asp forsøger du igen at benytte noget fra recordsettet oRS men det kan jeg ikke se oprettet nogle steder (og over en heeelt anden fil)?
Avatar billede moore Nybegynder
22. november 2006 - 13:22 #6
mmmmm. hvad skal jeg så smide på.. for at det virker .....
er fuldstændig blank på det her...desværre
Avatar billede keysersoze Guru
22. november 2006 - 13:33 #7
hvis du fjerner dette;

Do
If request.servervariables("REMOTE_ADDR") = oRS("BANIP") Then
Response.Redirect("http://www.cia.gov")
End If
Loop While Not rs.EOF

i dit oprindelig script vil det virke.
Avatar billede moore Nybegynder
22. november 2006 - 13:39 #8
jo jo.. så virker det.. men jeg vil jo gerne have.. at den lige laver et loop på.. om vedkommendes IP adresse er ban'et!!
Avatar billede keysersoze Guru
22. november 2006 - 13:49 #9
at gøre det i et loop vil være spild - mere optimalt vil det se sådan ud;

sql = "select count(banip) as bla from tabel where banip = '" & request.servervariables("REMOTE_ADDR")  & "'"
set tjek = conn.execute(sql)
if tjek("bla") < 1 then
  'ok
else
  'ikke ok
end if
'luk rs
Avatar billede keysersoze Guru
10. december 2006 - 02:24 #10
kommet videre?
Avatar billede moore Nybegynder
12. december 2006 - 09:09 #11
hov.. havde helt glemt den her.. men nje..kæmper lidt med det endnu.. selvom jeg efterhånden opgiver det *G*..
Tror jeg må finde på en anden løsning..
Avatar billede keysersoze Guru
12. december 2006 - 17:21 #12
hvis du fortæller hvad går galt kan det da være vi kan hjælpe - i hvert fald vil det måske være en idé at lukke spm hvis der ikke er mere at komme efter her.
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