Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Egy paraméter értékének beállításához az alkalmazás egyszerűen beállítja a paraméterhez kötött változó értékét. Az érték beállításakor nem fontos, amíg az utasítás végrehajtása előtt be van állítva. Az alkalmazás beállíthatja az értéket a változó kötése előtt vagy után, és annyiszor módosíthatja az értéket, amennyit csak akar. Az utasítás végrehajtásakor az illesztő egyszerűen lekéri a változó aktuális értékét. Ez különösen akkor hasznos, ha egy előkészített utasítást többször hajtanak végre; az alkalmazás az utasítás végrehajtásakor új értékeket állít be néhány vagy az összes változóhoz. Erre példa: Előkészített végrehajtás, a szakasz korábbi szakaszában.
Ha az SQLBindParameter hívásában hossz-/mutatópuffert kötöttek, az utasítás végrehajtása előtt az alábbi értékek egyikére kell állítani:
A kötött változóban lévő adatok bájthossza. Az illesztőprogram csak akkor ellenőrzi ezt a hosszt, ha a változó karakter vagy bináris (a ValueType SQL_C_CHAR vagy SQL_C_BINARY).
SQL_NTS. Az adat egy nullával lezárt karaktersorozat.
SQL_NULL_DATA. Az adatérték NULL, az illesztő pedig figyelmen kívül hagyja a kötött változó értékét.
SQL_DATA_AT_EXEC vagy az SQL_LEN_DATA_AT_EXEC makró eredménye. A paraméter értékét az SQLPutData használatával kell elküldeni. További információ: Hosszú adatok küldése a szakasz későbbi részében.
Az alábbi táblázat a kötött változó és a hossz/mutató puffer értékeit mutatja be, amelyeket az alkalmazás különböző paraméterértékekhez állít be.
| Paraméter value |
Paraméter (SQL) adattípus |
Változó (C) adattípus |
Érték a következőben: határ változó |
Érték a következőkben: hossz/mutató puffer[d] |
|---|---|---|---|---|
| "ABC" | SQL_CHAR | SQL_C_CHAR | ABC\0[a] | SQL_NTS vagy 3 |
| 10 | SQL_INTEGER | SQL_C_SLONG | 10 | -- |
| 10 | SQL_INTEGER | SQL_C_CHAR | 10\0[a] | SQL_NTS vagy 2 |
| 13:00 | SQL_TYPE_TIME | SQL_C_TYPE_TIME | 13,0,0[b] | -- |
| 13:00 (délután) | SQL_TYPE_TIME | SQL_C_CHAR | {t '13:00:00'}\0[a], [c] | SQL_NTS vagy 14 |
| NULLA | SQL_SMALLINT | SQL_C_SSHORT | -- | SQL_NULL_DATA |
[a] "\0" null-végződésű karaktert jelöl. A null-végződtetési karakter csak akkor szükséges, ha a hossz-/mutatópuffer értéke SQL_NTS.
[b] A listában szereplő számok a TIME_STRUCT szerkezet mezőiben tárolt számok.
A karakterlánc az ODBC dátum escape záradékot használja. További információ: Dátum, idő és időbélyeg literálok.
Az illesztőknek mindig ellenőrizniük kell ezt az értéket, hogy megállapítsák, különleges érték-e, például SQL_NULL_DATA.
Az illesztőprogramok által a végrehajtási időben megadott paraméterértékkel kapcsolatos teendők az illesztőprogramtól függenek. Szükség esetén az illesztő átalakítja a kötött változó C adattípusából és bájthosszából származó értéket az SQL-adattípusra, pontosságra és a paraméter méretezésére. A legtöbb esetben az illesztőprogram ezután elküldi az értéket az adatforrásnak. Bizonyos esetekben szövegként formázhatja az értéket, és beszúrja az SQL-utasításba, mielőtt elküldené az utasítást az adatforrásnak.