OdbcParamSet
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. Bei OdbcParamAdd()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.