Markus: Codefehler

Hi Leute

Möchte Daten aus einem Formular in eine Datenbank eintragen:

Was ist daran falsch?:

<%
        Dim myConnString
 Dim myConnection
 Dim mySQL

Dim rs

myConnString = Application("Immo_ConnectionString")

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

myConnection.Open myConnString

set rs = server.createobject("adodb.recordset")

rs.Open Immo, myConnection, adOpenKeySet, adLockOptimistic, adCmdTable

rs.AddNew
rs("Wohnflaeche") = Request.Form("Wohnflaeche")
rs("Zimmer") = Request.Form("Zimmer")
rs("Ort") = Request.Form("Ort")
rs("Preis") = Request.Form("Preis")
rs("Grundflaeche") = Request.Form("Grundflaeche")

rs.Update

Erhalte folgende Fehlermeldung:

ADODB.Recordset- Fehler '800a0bb9'

Die Argumente sind vom falschen Typ, liegen außerhalb des Gültigkeitsbereiches oder sind miteinander unvereinbar.

Denke der Fehler liegt darin:

rs.Open Immo, myConnection, adOpenKeySet, adLockOptimistic, adCmdTable

muß ich die Sachen deffinieren? Wenn ja wie?

Was mache ich falsch?

Wäre über eine Hilfe sehr dankbar!

MFG
Markus

  1. Hallo Markus,

    rs.Open Immo, myConnection, adOpenKeySet, adLockOptimistic, adCmdTable

    Dein Skript kennt die ADO-Konstanten ja gar nicht. Du musst
    entweder die adovbs.inc (sollte irgendwo auf deinem System
    vorhanden sein) per <!--#Include file="..." //-> einbinden
    oder die TypeLib mittels:

    <!--
        METADATA NAME="Microsoft ActiveX Data Objects 2.5 Library"
        TYPE="TypeLib"
        UUID="{00000205-0000-0010-8000-00AA006D2EA4}"
    -->

    in der global.asa (am besten ganz oben außerhalb der
    Prozeduren) einbinden.

    Tschau, Stefan

    1. Hi Stefan

      Habs jetzt ein wenig anders gelöst und es funktioniert: (müßte ja passen oder?) :

      <%

      Dim lngID

      Dim conn, rs
      Dim strConnection

      strConnection = Application("Immo_ConnectionString")
      Set conn = CreateObject("ADODB.Connection")

      conn.Open strConnection

      Set rs = CreateObject("ADODB.Recordset")
      rs.CursorLocation = 2   ' adUseServer
      rs.CursorType     = 1   ' adOpenKeyset
      rs.LockType       = 3   ' adLockOptimistic

      strSQL = "SELECT * FROM Immo WHERE ID = 0"

      rs.Open strSQL, conn

      rs.AddNew
      rs("Wohnflaeche")   = Request.Form("Wohnflaeche")
      rs("Zimmer") = Request.Form("Zimmer")
      rs.Update

      lngID = rs("ID")

      rs.Close
      conn.Close

      Response.Write "Die ID ist:  "
      Response.Write lngID & "<br>" & vbCrLf

      Set rs   = Nothing
      Set conn = Nothing
      %>

      Mfg
      Markus