aztec: MySQL-Datenbank - JavaScript - Update/Insert

Hi,

Ich habe bisher immer mit MS-SQL Datenbanken und JavaScript gearbeitet. ...
Jetzt möchte ich mittel JavaScript einen neuen Datensatz bzw. ein Update eines Datensatzes in einer MySQL Datenbank erzeugen, scheitere aber schon zum x-ten Mal!

Ein SELECT wird ohne Probleme ausgeführt - Dateninhalt wird geliefert, aber ein Insert oder Update wird nur mit fixen Eingaben wie 3,Sissi,Person, ... etc. durchgeführt, bei Übergabe von Variablen wie "Request.Form("xxx")" erhalten ich immer wieder den selben Error:

Error Type:
ADODB.Command (0x800A0BB9)
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
/Objekt.asp, line 1211

Bisher habe ich für Updates ein SELECT-Statement abgesetzt und mit Rst1.AddNew / Rst1.Update gearbeitet. Bei MySQL soll man aber (laut Foren-Aussagen) Insert- und Update-Statements verwenden?!

Bei dem unten angegebenen Source-Code kommen die Variablen aus dem selben .ASP mittels einer <action> und einer <form> und aus Input-Feldern. ...
(Die Übergabe der Variablen innerhalb des .ASP von einer Action zur anderen funktioniert sicher! Habe ich mittels Input-Feldern gecheckt.) ...

<%
 if( action = "Objekt_Update" ) then
%>

<%
 Set SqlCmd = CreateObject("ADODB.Command")

SqlCmd.ActiveConnection = " DRIVER=" & dbDriver & "; DATABASE=" & dbDatabase & "; UID=" & dbUser & "; PASSWORD=" & dbPassword & "; PORT=3306; OPTION=0;  "

if (Request.Form("ID") > 0 ) then

SqlCmd.CommandText = "UPDATE tab_objekt SET Objekt_Nummer=@Objekt_Nummer, Objekt_Art=@Objekt_Art, Besitz_Art=@Besitz_Art, Status=@Status, Staat=@Staat, Bundesland=@Bundesland, Bezirk=@Bezirk, PLZ=@PLZ, Ort=@Ort, Baujahr=@Baujahr, Wohnflaeche=@Wohnflaeche, Verbaute_Flaeche=@Verbaute_Flaeche, Grundflaeche=@Grundflaeche, Parkplatz=@Parkplatz, Parkplatz_Anzahl=@Parkplatz_Anzahl, Garage=@Garage, Garage_Anzahl=@Garage_Anzahl, Etage=@Etage, Etage_Bezeichnung=@Etage_Bezeichnung, Besichtigung=@Besichtigung, Verfuegbarkeit=@Verfuegbarkeit, Preis=@Preis, Preis_Objekt=@Preis_Objekt, Miete=@Miete, Miete_Objekt=@Miete_Objekt, Pacht=@Pacht, Pacht_Objekt=@Pacht_Objekt, Intro=@Intro, Besonderes=@Besonderes, Text=@Text, Deleted=@Deleted, Datum_LastUpdate=@Datum_LastUpdate where ID=@ID"

!!!!!Bei der Folgenden Zeile wird der Error ausgegeben!!!

set parm=SqlCmd.CreateParameter( "@Objekt_Nummer",adVarChar, adParamInput, 8)
                                   parm.value= request.form("Objekt_Nummer")
                                   SqlCmd.Parameters.Append parm

set parm=SqlCmd.CreateParameter( "@ Objekt_Art ",adVarChar, adParamInput, 50)
                                   parm.value= request.form("Objekt_Art")
                                   SqlCmd.Parameters.Append parm

......etc..........

call SqlCmd.Execute

else

Response.Write "Hat nicht geklappt!"
              Responde.End

end if
%>

<%
end if

%>

Environment:
MySQL 5.0 (+ SQL Manager 2005 Lite for MySQL)
MySQL ODBC 3.51 Driver
Betriebssystem XP
Internet-Explorer 6.0
Visual InterDev 6.0

Wäre wirklich super, wenn mir jemand weiterhelfen könnte. ...

  1. Hello,

    set parm=SqlCmd.CreateParameter( "@Objekt_Nummer",adVarChar, adParamInput, 8)
                                       parm.value= request.form("Objekt_Nummer")
                                       SqlCmd.Parameters.Append parm

    hast du dir mal den Inhalt von Request.form("Objekt_Nummer") anzeigen lasst? Es wäre auch interessant zu wissen, wo genau der Fehler kommt, bei .value oder bei .Append. Hast du vielleicht einen Link zur Seite da, nicht dass man clientseitig viel erkennen könnte, aber...
    Ich kann der Referenz gerade nicht entnehmen, welchen Rückgabetyp Request.Form hat, es könnte sein, dass ADO explizit einen String (-->VarChar) erwartet, in dem Fall CStr (für VB) bzw. (string) für C#, bzw... - in welcher Sprache schreibst du eigentlich?? Ich meine traditionelles ASP zu erkennen und tippe daher auf VB, dann lägst du evtl. mit CStr(Request.Forms(...)) richtig.

    MfG
    Rouven

    --
    -------------------
    Let Bygones Be Bygones  --  Robert Pitscottie: "Chronicles of Scotland"