Transisi Pernyataan

Pernyataan ODBC memiliki status berikut.

Provinsi Deskripsi
S0 Pernyataan tidak dialokasikan. (Status koneksi harus C4, C5, atau C6. Untuk informasi selengkapnya, lihat Transisi Koneksi.)
S1 Pernyataan yang dialokasikan.
S2 Pernyataan yang disiapkan. Tidak ada tataan hasil yang akan dibuat.
S3 Pernyataan yang disiapkan. Kumpulan hasil (mungkin kosong) akan dibuat.
S4 Pernyataan dijalankan dan tidak ada tataan hasil yang dibuat.
S5 Pernyataan dijalankan dan kumpulan hasil (mungkin kosong) dibuat. Kursor terbuka dan diposisikan sebelum baris pertama kumpulan hasil.
S6 Kursor diposisikan dengan SQLFetch atau SQLFetchScroll.
S7 Kursor diposisikan dengan SQLExtendedFetch.
S8 Fungsi membutuhkan data. SQLParamData belum dipanggil.
S9 Fungsi membutuhkan data. SQLPutData belum dipanggil.
S10 Fungsi membutuhkan data. SQLPutData telah dipanggil.
S11 Masih dieksekusi. Pernyataan dibiarkan dalam status ini setelah fungsi yang dijalankan secara asinkron mengembalikan SQL_STILL_EXECUTING. Pernyataan sementara dalam status ini sementara fungsi apa pun yang menerima handel pernyataan sedang dijalankan. Tempat tinggal sementara di negara bagian S11 tidak ditampilkan dalam tabel status apa pun kecuali tabel status untuk SQLCancel. Saat pernyataan sementara dalam status S11, fungsi dapat dibatalkan dengan memanggil SQLCancel dari utas lain.
S12 Eksekusi asinkron dibatalkan. Di S12, aplikasi harus memanggil fungsi yang dibatalkan hingga mengembalikan nilai selain SQL_STILL_EXECUTING. Fungsi berhasil dibatalkan hanya jika fungsi mengembalikan SQL_ERROR dan SQLSTATE HY008 (Operasi dibatalkan). Jika mengembalikan nilai lain, seperti SQL_SUCCESS, operasi pembatalan gagal dan fungsi dijalankan secara normal.

Status S2 dan S3 dikenal sebagai status yang disiapkan, menyatakan S5 hingga S7 sebagai status kursor, menyatakan S8 hingga S10 sebagai status data kebutuhan, dan menyatakan S11 dan S12 sebagai status asinkron. Di setiap grup ini, transisi ditampilkan secara terpisah hanya ketika berbeda untuk setiap status dalam grup; dalam kebanyakan kasus, transisi untuk setiap status di setiap grup sama.

Tabel berikut menunjukkan bagaimana setiap fungsi ODBC memengaruhi status pernyataan.

SQLAllocHandle

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
--[1], [5], [6] --[5] --[5] --[5] --[5] --[5] --[5]
--[2], [5] --[5] --[5] --[5] --[5] --[5] --[5]
S1[3] --[5] --[5] --[5] --[5] --[5] --[5]
--[4], [5] --[5] --[5] --[5] --[5] --[5] --[5]

[1] Baris ini menunjukkan transisi ketika HandleType SQL_HANDLE_ENV.

[2] Baris ini menunjukkan transisi ketika HandleType SQL_HANDLE_DBC.

[3] Baris ini menunjukkan transisi ketika HandleType SQL_HANDLE_STMT.

[4] Baris ini menunjukkan transisi ketika HandleType SQL_HANDLE_DESC.

[5] Memanggil SQLAllocHandle dengan OutputHandlePtr menunjuk ke handel valid yang menimpa yang menangani tanpa memperhatikan konten sebelumnya untuk handel tersebut dan dapat menyebabkan masalah bagi driver ODBC. Ini adalah pemrograman aplikasi ODBC yang salah untuk memanggil SQLAllocHandle dua kali dengan variabel aplikasi yang sama yang ditentukan untuk *OutputHandlePtr tanpa memanggil SQLFreeHandle untuk membebaskan handel sebelum merealokasinya. Menimpa handel ODBC dengan cara seperti itu dapat menyebabkan perilaku atau kesalahan yang tidak konsisten pada bagian driver ODBC.

SQLBindCol

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH -- -- -- -- HY010 HY010

SQLBindParameter

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH -- -- -- -- HY010 HY010

SQLBrowseConnect, SQLConnect, dan SQLDriverConnect

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
08002 08002 08002 08002 08002 08002 08002

SQLBulkOperations

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH HY010 HY010 24000 Lihat tabel berikutnya HY010 NS [c] HY010 o

SQLBulkOperations (Status Kursor)

S5

Dibuka
S6

SQLFetch atau SQLFetchScroll
S7

SQLExtendedFetch
-- [s] S8 [d] S11 [x] -- [s] S8 [d] S11 [x] HY010

SQLCancel

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH -- -- -- -- S1[1] S2 [nr] dan [2] S3 [r]dan [2] S5[3] dan [5] S6([3] atau [4]) dan [6] S7[4] dan [7] Lihat tabel berikutnya

[1] SQLExecDirect mengembalikan SQL_NEED_DATA.

[2] SQLExecute mengembalikan SQL_NEED_DATA.

[3] SQLBulkOperations mengembalikan SQL_NEED_DATA.

[4] SQLSetPos mengembalikan SQL_NEED_DATA.

[5] SQLFetch, SQLFetchScroll, atau SQLExtendedFetch belum dipanggil.

[6] SQLFetch atau SQLFetchScroll telah dipanggil.

[7] SQLExtendedFetch telah dipanggil.

SQLCancel (Status Asinkron)

S11

Masih mengeksekusi
S12

Asinkron dibatalkan
NS[1] S12[2] S12

[1] Pernyataan tersebut sementara dalam status S11 saat fungsi sedang dijalankan. SQLCancel dipanggil dari utas yang berbeda.

[2] Pernyataan tersebut dinyatakan S11 karena fungsi yang disebut dikembalikan secara asinkron SQL_STILL_EXECUTING.

SQLCloseCursor

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH 24000 24000 24000 S1 [np] S3 [p] HY010 HY010

SQLColAttribute

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH HY010 Lihat tabel berikutnya 24000 -- [s] S11 [x] HY010 NS [c] HY010 o

SQLColAttribute (Status Yang Disiapkan)

S2

Tidak Ada Hasil
S3

Hasil
--[1] 07005[2] -- [s] S11 x

[1] FieldIdentifier SQL_DESC_COUNT.

[2] FieldIdentifier tidak SQL_DESC_COUNT.

SQLColumnPrivileges, SQLColumns, SQLForeignKeys, SQLGetTypeInfo, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedures, SQLSpecialColumns, SQLStatistics, SQLTablePrivileges, dan SQLTables

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
(IH) S5 [s] S11 [x] S1 [e] S5 [s] S11 [x] S1 [e] dan [1] S5 [s] dan [1] S11 [x] dan [1] 24000[2] Lihat tabel berikutnya HY010 NS [c] HY010 o

[1] Hasil saat ini adalah hasil terakhir atau satu-satunya, atau tidak ada hasil saat ini. Untuk informasi selengkapnya tentang beberapa hasil, lihat Beberapa Hasil.

[2] Hasil saat ini bukan hasil terakhir.

SQLColumnPrivileges, SQLColumns, SQLForeignKeys, SQLGetTypeInfo, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedures, SQLSpecialColumns, SQLStatistics, SQLTablePrivileges, dan SQLTables (Status Kursor)

S5

Dibuka
S6

SQLFetch atau SQLFetchScroll
S7

SQLExtendedFetch
24000 24000[1] 24000

[1] Kesalahan ini dikembalikan oleh Driver Manager jika SQLFetch atau SQLFetchScroll belum mengembalikan SQL_NO_DATA dan dikembalikan oleh driver jika SQLFetch atau SQLFetchScroll telah mengembalikan SQL_NO_DATA.

SQLCopyDesc

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH[1] -- -- -- -- HY010 NS [c] dan [3] HY010 [o] atau [4]
IH[2] HY010 Lihat tabel berikutnya 24000 -- [s] S11 x HY010 NS [c] dan [3] HY010 [o] atau [4]

[1] Baris ini menunjukkan transisi ketika argumen SourceDescHandle adalah ARD, APD, atau IPD.

[2] Baris ini menunjukkan transisi ketika argumen SourceDescHandle adalah IRD.

[3] Argumen SourceDescHandle dan TargetDescHandle sama seperti dalam fungsi SQLCopyDesc yang berjalan secara asinkron.

[4] Argumen SourceDescHandle atau argumen TargetDescHandle (atau keduanya) berbeda dari dalam fungsi SQLCopyDesc yang berjalan secara asinkron.

SQLCopyDesc (Status Yang Disiapkan)

S2

Tidak Ada Hasil
S3

Hasil
24000[1] -- [s] S11 [x]

[1] Baris ini memperlihatkan transisi saat argumen SourceDescHandle adalah IRD.

SQLDataSources dan SQLDrivers

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
-- -- -- -- -- -- --

SQLDescribeCol

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH HY010 Lihat tabel berikutnya 24000 -- [s] S11 [x] HY010 NS [c] HY010 o

SQLDescribeCol (Status Yang Disiapkan)

S2

Tidak Ada Hasil
S3

Hasil
07005 -- [s] S11 [x]

SQLDescribeParam

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH HY010 -- [s] S11 [x] HY010 HY010 HY010 NS [c] HY010 [o]

SQLDisconnect

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
--[1] S0[1] S0[1] S0[1] S0[1] (HY010) (HY010)

[1] Memanggil SQLDisconnect membebaskan semua pernyataan yang terkait dengan koneksi. Selain itu, ini mengembalikan status koneksi ke C2; status koneksi harus C4 sebelum status pernyataan adalah S0.

SQLEndTran

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
-- -- --[2] atau [3] S1[1] --[3] S1 [np] dan ([1] atau [2]) S1 [p] dan [1] S2 [p] dan [2] --[3] S1 [np] dan ([1] atau [2]) S1 [p] dan [1] S3 [p] dan [2] (HY010) (HY010)

[1] Argumen CompletionType SQL_COMMIT dan SQLGetInfo mengembalikan SQL_CB_DELETE untuk jenis informasi SQL_CURSOR_COMMIT_BEHAVIOR, atau argumen CompletionType SQL_ROLLBACK dan SQLGetInfo mengembalikan SQL_CB_DELETE untuk jenis informasi SQL_CURSOR_ROLLBACK_BEHAVIOR.

[2] Argumen CompletionType SQL_COMMIT dan SQLGetInfo mengembalikan SQL_CB_CLOSE untuk jenis informasi SQL_CURSOR_COMMIT_BEHAVIOR, atau argumen CompletionType SQL_ROLLBACK dan SQLGetInfo mengembalikan SQL_CB_CLOSE untuk jenis informasi SQL_CURSOR_ROLLBACK_BEHAVIOR.

[3] Argumen CompletionType SQL_COMMIT dan SQLGetInfo mengembalikan SQL_CB_PRESERVE untuk jenis informasi SQL_CURSOR_COMMIT_BEHAVIOR, atau argumen CompletionType SQL_ROLLBACK dan SQLGetInfo mengembalikan SQL_CB_PRESERVE untuk jenis informasi SQL_CURSOR_ROLLBACK_BEHAVIOR.

SQLExecDirect

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
(IH) S4 [s] dan [nr] S5 [s] dan [r] S8 [d] S11 [x] -- [e] dan [1] S1 [e] dan [2] S4 [s] dan [nr] S5 [s] dan [r] S8 [d] S11 [x] -- [e], [1], dan [3] S1 [e], [2], dan [3] S4 [s], [nr], dan [3] S5 [s], [r], dan [3] S8 [d] dan [3] S11 [x] dan [3] 24000 [4] Lihat tabel berikutnya HY010 NS [c] HY010 [o]

[1] Kesalahan dikembalikan oleh Manajer Driver.

[2] Kesalahan tidak dikembalikan oleh Manajer Driver.

[3] Hasil saat ini adalah hasil terakhir atau satu-satunya, atau tidak ada hasil saat ini. Untuk informasi selengkapnya tentang beberapa hasil, lihat Beberapa Hasil.

[4] Hasil saat ini bukan hasil terakhir.

SQLExecDirect (Status Kursor)

S5

Dibuka
S6

SQLFetch atau SQLFetchScroll
S7

SQLExtendedFetch
24000 24000 [1] 24000

[1] Kesalahan ini dikembalikan oleh Driver Manager jika SQLFetch atau SQLFetchScroll belum mengembalikan SQL_NO_DATA, dan dikembalikan oleh driver jika SQLFetch atau SQLFetchScroll telah mengembalikan SQL_NO_DATA.

SQLExecute

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
(IH) (HY010) Lihat tabel berikutnya S2 [e], p, dan [1] S4 [s], [p], [nr], dan [1] S5 [s], [p], [r], dan [1] S8 [d], [p], dan [1] S11 [x], [p], dan [1] 24000 [p] dan [2] HY010 [np] Lihat tabel status kursor HY010 NS [c] HY010 [o]

[1] Hasil saat ini adalah hasil terakhir atau satu-satunya, atau tidak ada hasil saat ini. Untuk informasi selengkapnya tentang beberapa hasil, lihat Beberapa Hasil.

[2] Hasil saat ini bukan hasil terakhir.

SQLExecute (Status Yang Disiapkan)

S2

Tidak Ada Hasil
S3

Hasil
S4 [s] S8 [d] S11 [x] S5 [s] S8 [d] S11 [x]

SQLExecute (Status Kursor)

S5

Dibuka
S6

SQLFetch atau SQLFetchScroll
S7

SQLExtendedFetch
24000 [p] HY010 [np] 24000 [p], [1] HY010 [np] 24000 [p] HY010 [np]

[1] Kesalahan ini dikembalikan oleh Driver Manager jika SQLFetch atau SQLFetchScroll belum mengembalikan SQL_NO_DATA, dan dikembalikan oleh driver jika SQLFetch atau SQLFetchScroll telah mengembalikan SQL_NO_DATA.

SQLExtendedFetch

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH S1010 S1010 24000 Lihat tabel berikutnya S1010 NS [c] S1010 [o]

SQLExtendedFetch (Status Kursor)

S5

Dibuka
S6

SQLFetch atau SQLFetchScroll
S7

SQLExtendedFetch
S7 [s] atau [nf] S11 [x] S1010 -- [s] atau [nf] S11 [x]

SQLFetch dan SQLFetchScroll

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH HY010 HY010 24000 Lihat tabel berikutnya HY010 NS [c] HY010 [o]

SQLFetch dan SQLFetchScroll (Status kursor)

S5

Dibuka
S6

SQLFetch atau SQLFetchScroll
S7

SQLExtendedFetch
S6 [s] atau [nf] S11 [x] -- [s] atau [nf] S11 [x] HY010

SQLFreeHandle

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
-- [1] HY010 HY010 HY010 HY010 HY010 HY010
IH [2] S0 S0 S0 S0 HY010 HY010
-- [3] -- -- -- -- -- --

[1] Baris ini menunjukkan transisi ketika HandleType SQL_HANDLE_ENV atau SQL_HANDLE_DBC.

[2] Baris ini menunjukkan transisi ketika HandleType SQL_HANDLE_STMT.

[3] Baris ini menunjukkan transisi ketika HandleType SQL_HANDLE_DESC dan deskriptor dialokasikan secara eksplisit.

SQLFreeStmt

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH [1] -- -- S1 [np] S2 [p] S1 [np] S3 [p] HY010 HY010
IH [2] -- -- -- -- HY010 HY010

[1] Baris ini menunjukkan transisi ketika Option SQL_CLOSE.

[2] Baris ini menunjukkan transisi ketika Option SQL_UNBIND atau SQL_RESET_PARAMS. Jika argumen Opsi SQL_DROP dan driver yang mendasarinya adalah driver ODBC 3*.x*, Manajer Driver memetakan ini ke panggilan ke SQLFreeHandle dengan HandleType diatur ke SQL_HANDLE_STMT. Untuk informasi selengkapnya, lihat tabel transisi untuk SQLFreeHandle.

SQLGetConnectAttr

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
-- -- -- -- -- -- --

SQLGetCursorName

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH -- -- -- -- HY010 HY010

SQLGetData

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH HY010 HY010 24000 Lihat tabel berikutnya HY010 NS [c] HY010 [o]

SQLGetData (Status Kursor)

S5

Dibuka
S6

SQLFetch atau SQLFetchScroll
S7

SQLExtendedFetch
24000 -- [s] atau [nf] S11 [x] 24000 [b] HY109 [i] -- [s] atau [nf] S11 [x] 24000 [b] HY109 [i]

SQLGetDescField dan SQLGetDescRec

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH -- [1] atau [2] HY010 [3] Lihat tabel berikutnya -- [1] atau [2] 24000 [3] -- [1], [2], atau [3] S11 [3] dan [x] HY010 NS [c] atau [4] HY010 [o] dan [5]

[1] Argumen DescriptorHandle adalah APD atau ARD.

[2] Argumen DescriptorHandle adalah IPD.

[3] Argumen DescriptorHandle adalah IRD.

Argumen DescriptorHandle sama dengan argumen DescriptorHandle dalam fungsi SQLGetDescField atau SQLGetDescRec yang berjalan secara asinkron.

Argumen DescriptorHandle berbeda dari argumen DescriptorHandle dalam fungsi SQLGetDescField atau SQLGetDescRec yang berjalan secara asinkron.

SQLGetDescField dan SQLGetDescRec (Status Yang Disiapkan)

S2

Tidak Ada Hasil
S3

Hasil
--[1], [2], atau [3] S11[2] dan [x] --[1], [2], atau [3] S11 [x]

[1] Argumen DescriptorHandle adalah APD atau ARD.

[2] Argumen DescriptorHandle adalah IPD.

[3] Argumen DescriptorHandle adalah IRD. Perhatikan bahwa fungsi-fungsi ini selalu mengembalikan SQL_NO_DATA dalam status S2 ketika DescriptorHandle adalah IRD.

SQLGetDiagField dan SQLGetDiagRec

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
--[1] -- -- -- -- -- --
IH[2] --[3] --[3] -- -- --[3] --[3]

[1] Baris ini menunjukkan transisi ketika HandleType SQL_HANDLE_ENV, SQL_HANDLE_DBC, atau SQL_HANDLE_DESC.

[2] Baris ini menunjukkan transisi ketika HandleType SQL_HANDLE_STMT.

[3] SQLGetDiagField selalu mengembalikan kesalahan dalam keadaan ini ketika DiagIdentifier SQL_DIAG_ROW_COUNT.

SQLGetEnvAttr

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
-- -- -- -- -- -- --

SQLGetFunctions

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
-- -- -- -- -- -- --

SQLGetInfo

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
-- -- -- -- -- -- --

SQLGetStmtAttr

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH --[1] 24000[2] --[1] 24000[2] --[1] 24000[2] Lihat tabel berikutnya HY010 HY010

[1] Atribut pernyataan tidak SQL_ATTR_ROW_NUMBER.

[2] Atribut pernyataan tersebut SQL_ATTR_ROW_NUMBER.

SQLGetStmtAttr (Status Kursor)

S5

Dibuka
S6

SQLFetch atau SQLFetchScroll
S7

SQLExtendedFetch
--[1] 24000[2] --[1] atau ([v] dan [2]) 24000 [b] dan [2] HY109 [i] dan [2] -- [i] atau ([v] dan [2]) 24000 [b] dan [2] HY109[1] dan [2]

[1] Argumen Atribut tidak SQL_ATTR_ROW_NUMBER.

[2] Argumen Atribut SQL_ATTR_ROW_NUMBER.

SQLMoreResults

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
(IH) --[1] --[1] -- [s] dan [2] S1 [nf], [np], dan [4] S2 [nf], [p], dan [4] S5 [s] dan [3] S11 [x] S1 [nf], [np], dan [4] S3 [nf], [p] dan [4] S4 [s] dan [2] S5 [s] dan [3] S11 [x] HY010 NS [c] HY010 [o]

[1] Fungsi ini selalu mengembalikan SQL_NO_DATA dalam keadaan ini.

[2] Hasil berikutnya adalah jumlah baris.

[3] Hasil berikutnya adalah tataan hasil.

[4] Hasil saat ini adalah hasil terakhir.

SQLNativeSql

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
-- -- -- -- -- -- --

SQLNumParams

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH HY010 -- [s] S11 [x] -- [s] S11 [x] -- [s] S11 [x] HY010 NS [c] HY010 [o]

SQLNumResultCols

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH HY010 -- [s] S11 [x] -- [s] S11 [x] -- [s] S11 [x] HY010 NS [c] HY010 [o]

SQLParamData

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH HY010 HY010 HY010 HY010 Lihat tabel berikutnya NS [c] HY010 [o]

SQLParamData (Perlu Status Data)

S8

Perlu Data
S9

Harus Diletakkan
S10

Bisa Taruh
S1 [e] dan [1] S2 [e], [nr], dan [2] S3 [e], [r], dan [2] S5 [e] dan [4] S6 [e] dan [5] S7 [e] dan [3] S9 [d] S11 [x] HY010 S1 [e] dan [1] S2 [e], [nr], dan [2] S3 [e], [r], dan [2] S4 [s], [nr], dan ([1] atau [2]) S5 [s], [r], dan ([1] atau [2]) S5 ([s] atau [e]) dan [4] S6 ([s] atau [e]) dan [5] S7 ([s] atau [e]) dan [3] S9 [d] S11 [x]

[1] SQLExecDirect mengembalikan SQL_NEED_DATA.

[2] SQLExecute mengembalikan SQL_NEED_DATA.

[3] SQLSetPos telah dipanggil dari negara bagian S7 dan dikembalikan SQL_NEED_DATA.

[4] SQLBulkOperations telah dipanggil dari negara bagian S5 dan dikembalikan SQL_NEED_DATA.

[5] SQLSetPos atau SQLBulkOperations telah dipanggil dari status S6 dan dikembalikan SQL_NEED_DATA.

SQLPrepare

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
(IH) S2 [s] dan [nr] S3 [s] dan [r] S11 [x] -- [s] atau ([e] dan [1]) S1 [e] dan [2] S11 [x] S1 [e] dan [3] S2 [s], [nr], dan [3] S3 [s], [r], dan [3] S11 [x] dan [3] 24000[4] Lihat tabel berikutnya HY010 NS [c] HY010 [o]

[1] Persiapan gagal karena alasan selain memvalidasi pernyataan (SQLSTATE adalah HY009 [nilai argumen tidak valid] atau HY090 [String tidak valid atau panjang buffer]).

[2] Persiapan gagal saat memvalidasi pernyataan (SQLSTATE bukan HY009 [nilai argumen tidak valid] atau HY090 [String tidak valid atau panjang buffer]).

[3] Hasil saat ini adalah hasil terakhir atau satu-satunya, atau tidak ada hasil saat ini. Untuk informasi selengkapnya tentang beberapa hasil, lihat Beberapa Hasil.

[4] Hasil saat ini bukan hasil terakhir.

SQLPrepare (Status Kursor)

S5

Dibuka
S6

SQLFetch atau SQLFetchScroll
S7

SQLExtendedFetch
24000 24000 24000

SQLPutData

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH HY010 HY010 HY010 HY010 Lihat tabel berikutnya NS [c] HY010 [o]

SQLPutData (Perlu Status Data)

S8

Perlu Data
S9

Harus Diletakkan
S10

Bisa Taruh
HY010 S1 [e] dan [1] S2 [e], [nr], dan [2] S3 [e], [r], dan [2] S5 [e] dan [4] S6 [e] dan [5] S7 [e] dan [3] S10 [s] S11 [x] -- [s] S1 [e] dan [1] S2 [e], [nr], dan [2] S3 [e], [r], dan [2] S5 [e] dan [4] S6 [e] dan [5] S7 [e] dan [3] S11 [x] HY011[6]

[1] SQLExecDirect mengembalikan SQL_NEED_DATA.

[2] SQLExecute mengembalikan SQL_NEED_DATA.

[3] SQLSetPos telah dipanggil dari negara bagian S7 dan dikembalikan SQL_NEED_DATA.

[4] SQLBulkOperations telah dipanggil dari negara bagian S5 dan dikembalikan SQL_NEED_DATA.

[5] SQLSetPos atau SQLBulkOperations telah dipanggil dari status S6 dan dikembalikan SQL_NEED_DATA.

[6] Satu atau beberapa panggilan ke SQLPutData untuk satu parameter yang dikembalikan SQL_SUCCESS, dan kemudian panggilan ke SQLPutData dilakukan untuk parameter yang sama dengan StrLen_or_Ind diatur ke SQL_NULL_DATA.

SQLRowCount

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
(IH) (HY010) (HY010) -- -- (HY010) (HY010)

SQLSetConnectAttr

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
--[1] -- -- -- --[2] 24000[3] HY010 HY010

[1] Baris ini menunjukkan transisi ketika Atribut adalah atribut koneksi. Untuk transisi saat Atribut adalah atribut pernyataan, lihat tabel transisi pernyataan untuk SQLSetStmtAttr.

[2] Argumen Atribut tidak SQL_ATTR_CURRENT_CATALOG.

[3] Argumen Atribut SQL_ATTR_CURRENT_CATALOG.

SQLSetCursorName

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH -- -- 24000 24000 HY010 HY010

SQLSetDescField dan SQLSetDescRec

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH[1] -- -- -- -- HY010 HY010

[1] Baris ini menunjukkan transisi di mana argumen DescriptorHandle adalah ARD, APD, IPD, atau (untuk SQLSetDescField) IRD ketika argumen FieldIdentifier SQL_DESC_ARRAY_STATUS_PTR atau SQL_DESC_ROWS_PROCESSED_PTR. Ini adalah kesalahan untuk memanggil SQLSetDescField untuk IRD ketika FieldIdentifier adalah nilai lain.

SQLSetEnvAttr

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
HY011 HY011 HY011 HY011 Y011 HY01 HY011

SQLSetPos

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH HY010 HY010 24000 Lihat tabel berikutnya HY010 NS [c] HY010 [o]

SQLSetPos (Status Kursor)

S5

Dibuka
S6

SQLFetch atau SQLFetchScroll
S7

SQLExtendedFetch
24000 -- [s] S8 [d] S11 [x] 24000 [b] HY109 [i] -- [s] S8 [d] S11 [x] 24000 [b] HY109 [i]

SQLSetStmtAttr

S0

Tidak dialokasikan
S1

Dialokasikan
S2-S3

Disiapkan
S4

Dijalankan
S5-S7

Kursor
S8-S10

Perlu Data
S11-S12

Asinkron
IH -- --[1] HY011[2] --[1] 24000[2] --[1] 24000[2] HY010 [np] atau [1] HY011 [p] dan [2] HY010 [np] atau [1] HY011 [p] dan [2]

[1] Argumen Atribut tidak SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_TYPE, SQL_ATTR_SIMULATE_CURSOR, SQL_ATTR_USE_BOOKMARKS, SQL_ATTR_CURSOR_SCROLLABLE, atau SQL_ATTR_CURSOR_SENSITIVITY.

[2] Argumen Atributnya adalah SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_TYPE, SQL_ATTR_SIMULATE_CURSOR, SQL_ATTR_USE_BOOKMARKS, SQL_ATTR_CURSOR_SCROLLABLE, atau SQL_ATTR_CURSOR_SENSITIVITY.