OdbcParamSet
obj -> OdbcParamSet(int1, var2) : int
Parameter für ODBC-Statement übergeben
Details
- obj: Deskriptor des ODBC-Statement-Objekts
- int1: Parameterposition
- var2: Parameterwert
- Resultat:
intFehlerwert - Siehe: Verwandte Befehle ,
OdbcPrepare (),OdbcParamAdd ()
Die Anweisung wird in Zusammenhang mit OdbcParamAdd () verwendet, um den Wert eines externen Statement-Parameters zuzuweisen.
In (obj) muss ein Deskriptor auf ein OdbcStm -Objekt übergeben werden. (int1) definiert den Index des Parameters, deren Wert gesetzt werden soll. Das Argument (var2) definiert den Wert des Parameters.
Konnte die Anweisung ausgeführt werden, wird _ErrOk zurückgegeben. Stimmen der übergebene Datentyp nicht mit dem in OdbcParamAdd () definierten Datentyp überein, gibt die Anweisung _ErrType zurück.
Wird als Wert (var2) NULL übergeben, wird der Inhalt auf einen nicht definierten Wert gesetzt. Die Spalte muss auf NULL gesetzt werden können.
Wurde bei OdbcParamAdd () der Datentyp _TypeHandle definiert, muss im Parameterwert (var2) der Deskriptor eines Memory -Objektes übergeben werden, ansonsten kommt der Laufzeitfehler _ErrHdlInvalid.
Beispiel:
// Abfrage vorbereiten
tOdbcStm # tOdbcCon->OdbcPrepare('INSERT INTO Customer (ID,NAME,DESCRIPTION) VALUES (?,?,?)');
if (tOdbcStm > 0)
{
// Parameter der Abfrage definieren
tOdbcStm->OdbcParamAdd(_TypeInt);
tOdbcStm->OdbcParamAdd(_TypeAlpha, 50);
tOdbcStm->OdbcParamAdd(_TypeHandle);
// Parameter der Abfrage setzen
tOdbcStm->OdbcParamSet(1, 1000);
tOdbcStm->OdbcParamSet(2, 'vectorsoft AG');
tOdbcStm->OdbcParamSet(3, tMemHdl);
// Abfrage durchführen
tOdbcStm->OdbcExecute();
}
Mögliche Laufzeitfehler:
_ErrHdlInvalid: Im (obj) wurde kein gültiger Deskriptor auf ein OdbcStm -Objekt übergeben. BeiOdbcParamAdd ()der Datentyp_TypeHandledefiniert und der Parameterwert (var2) ist kein Deskriptor eines Memory -Objektes._ErrValueInvalid: In (int1) ist kleiner als eins oder es gibt keinen Parameter mit dem angegebenen Index.