Bagikan melalui


Mengembalikan Kode ODBC

Setiap fungsi dalam ODBC mengembalikan kode, yang dikenal sebagai kode pengembaliannya , yang menunjukkan keberhasilan atau kegagalan fungsi secara keseluruhan. Logika program umumnya didasarkan pada kode pengembalian.

Misalnya, kode berikut memanggil SQLFetch untuk mengambil baris dalam tataan hasil. Ini memeriksa kode pengembalian fungsi untuk menentukan apakah akhir kumpulan hasil tercapai (SQL_NO_DATA), jika ada informasi peringatan yang dikembalikan (SQL_SUCCESS_WITH_INFO), atau jika terjadi kesalahan (SQL_ERROR).

SQLRETURN   rc;  
SQLHSTMT    hstmt;  
  
while ((rc=SQLFetch(hstmt)) != SQL_NO_DATA) {  
   if (rc == SQL_SUCCESS_WITH_INFO) {  
      // Call function to display warning information.  
   } else if (rc == SQL_ERROR) {  
      // Call function to display error information.  
      break;  
   }  
   // Process row.  
}  

Kode pengembalian SQL_INVALID_HANDLE selalu menunjukkan kesalahan pemrograman dan tidak boleh ditemui pada waktu proses. Semua kode pengembalian lainnya memberikan informasi run-time, meskipun SQL_ERROR mungkin menunjukkan kesalahan pemrograman.

Tabel berikut mendefinisikan kode pengembalian.

Mengembalikan kode Deskripsi
SQL_SUCCESS Fungsi berhasil diselesaikan. Aplikasi memanggil SQLGetDiagField untuk mengambil informasi tambahan dari rekaman header.
SQL_SUCCESS_WITH_INFO Fungsi berhasil diselesaikan, mungkin dengan kesalahan nonfatal (peringatan). Aplikasi memanggil SQLGetDiagRec atau SQLGetDiagField untuk mengambil informasi tambahan.
SQL_ERROR Fungsi gagal. Aplikasi memanggil SQLGetDiagRec atau SQLGetDiagField untuk mengambil informasi tambahan. Konten argumen output apa pun ke fungsi tidak terdefinisi.
SQL_INVALID_HANDLE Fungsi gagal karena pegangan lingkungan, koneksi, pernyataan, atau deskriptor yang tidak valid. Ini menunjukkan kesalahan pemrograman. Tidak ada informasi tambahan yang tersedia dari SQLGetDiagRec atau SQLGetDiagField. Kode ini dikembalikan hanya ketika handel adalah penunjuk null atau merupakan jenis yang salah, seperti ketika handel pernyataan diteruskan untuk argumen yang memerlukan handel koneksi.
SQL_NO_DATA Tidak ada lagi data yang tersedia. Aplikasi memanggil SQLGetDiagRec atau SQLGetDiagField untuk mengambil informasi tambahan. Satu atau beberapa rekaman status yang ditentukan driver di kelas 02xxx dapat dikembalikan. Catatan: Di ODBC 2.x, kode pengembalian ini diberi nama SQL_NO_DATA_FOUND.
SQL_NEED_DATA Diperlukan lebih banyak data, seperti ketika data parameter dikirim pada waktu eksekusi atau informasi koneksi tambahan diperlukan. Aplikasi memanggil SQLGetDiagRec atau SQLGetDiagField untuk mengambil informasi tambahan, jika ada.
SQL_STILL_EXECUTING Fungsi yang dimulai secara asinkron masih dijalankan. Aplikasi memanggil SQLGetDiagRec atau SQLGetDiagField untuk mengambil informasi tambahan, jika ada.