Fungsi JetSetColumnDefaultValue

Berlaku untuk: Windows | Windows Server

Fungsi JetSetColumnDefaultValue

Fungsi JetSetColumnDefaultValue dapat digunakan untuk mengubah nilai default kolom yang ada.

    JET_ERR JET_API JetSetColumnDefaultValue(
      __in          JET_SESID sesid,
      __in          JET_DBID dbid,
      __in          JET_PCSTR szTableName,
      __in          JET_PCSTR szColumnName,
      __in          const void* pvData,
      __in          const unsigned long cbData,
      __in          const JET_GRBIT grbit
    );

Parameter

sesid

Sesi yang digunakan untuk panggilan ini.

dbid

Database yang digunakan untuk panggilan ini.

szTableName

Nama tabel yang berisi kolom yang akan terpengaruh.

szColumnName

Nama kolom yang nilai defaultnya akan diubah.

pvData

Buffer input yang berisi nilai default baru.

cbData

Ukuran buffer input yang berisi nilai default baru.

grbit

Disiapkan untuk penggunaan masa mendatang.

Tampilkan Nilai

Fungsi ini mengembalikan jenis data JET_ERR dengan salah satu kode pengembalian berikut. Untuk informasi selengkapnya tentang kemungkinan kesalahan ESE, lihat Kesalahan Mesin Penyimpanan yang Dapat Diperluas dan Parameter Penanganan Kesalahan.

Menampilkan kode

Deskripsi

JET_errSuccess

Operasi berhasil diselesaikan.

JET_errClientRequestToStopJetService

Tidak mungkin untuk menyelesaikan operasi karena semua aktivitas pada instans yang terkait dengan sesi telah berhenti sebagai akibat dari panggilan ke JetStopService.

JET_errColumnIllegalNull

Sama seperti JET_errNullInvalid.

JET_errColumnInUse

Kolom yang ditentukan saat ini sedang digunakan oleh indeks.

JetSetColumnDefaultValue tidak dapat mengubah nilai default kolom yang direferensikan dalam definisi indeks. Ini karena melakukannya dapat mengubah konten indeks.

JET_errColumnNotFound

Kolom yang ditentukan ini tidak ada untuk tabel ini.

JET_errInstanceUnavailable

Tidak dimungkinkan untuk menyelesaikan operasi karena instans yang terkait dengan sesi telah mengalami kesalahan fatal yang mengharuskan akses ke semua data dicabut untuk melindungi integritas data tersebut. Kesalahan ini hanya akan dikembalikan oleh Windows XP dan rilis yang lebih baru.

JET_errInvalidDatabaseId

ID database yang ditentukan tidak valid.

JET_errInvalidName

Salah satu nama objek yang ditentukan tidak valid. Semua nama objek harus sesuai dengan sekumpulan aturan yang sama. Aturan ini adalah sebagai berikut:

  • Nama objek harus terdiri dari karakter ASCII.

  • Panjang nama objek harus minimal satu karakter.

  • Panjang nama objek tidak boleh melebihi JET_cbNameMost (64).

  • Nama objek mungkin tidak dimulai dengan spasi.

  • Nama objek mungkin tidak berisi karakter kontrol ASCII (0x00 melalui 0x1F).

  • Nama objek tidak boleh berisi karakter tanda seru (!), titik (.), kurung kiri ([), atau tanda kurung kanan (]).

  • Setelah divalidasi, hanya bagian string hingga spasi pertama (jika ada) yang akan digunakan untuk nama objek. Ini berarti bahwa nama objek mungkin juga tidak berisi spasi.

JET_errNotInitialized

Tidak dimungkinkan untuk menyelesaikan operasi karena instans yang terkait dengan sesi belum diinisialisasi.

JET_errNullInvalid

Kolom tidak dapat diatur ke NULL. Ini terjadi untuk JetSetColumnDefaultValue ketika:

  • cbData adalah nol.

  • pvData adalah NULL.

Oleh karena itu, tidak dimungkinkan untuk mengatur nilai default kolom (kembali) ke NULL atau ke nilai panjang nol.

JET_errObjectNotFound

Tabel yang ditentukan ini tidak ada untuk database ini.

JET_errRestoreInProgress

Tidak dimungkinkan untuk menyelesaikan operasi karena operasi pemulihan sedang berlangsung pada instans yang terkait dengan sesi.

JET_errSessionSharingViolation

Sesi yang sama tidak dapat digunakan untuk lebih dari satu utas secara bersamaan. Kesalahan ini hanya akan dikembalikan oleh Windows XP dan rilis yang lebih baru.

JET_errTableInUse

Tabel yang ditentukan ini sedang digunakan oleh sesi lain.

JetSetColumnDefaultValue memerlukan akses eksklusif ke tabel untuk mengubah nilai default kolom untuk rilis sebelum Windows Server 2003.

JET_errTermInProgress

Tidak dimungkinkan untuk menyelesaikan operasi karena instans yang terkait dengan sesi sedang dimatikan.

JET_errTransReadOnly

Adalah ilegal untuk mencoba pembaruan ketika berada di dalam cakupan transaksi baca-saja. Transaksi baca-saja adalah transaksi yang telah dimulai menggunakan panggilan ke JetBeginTransaction2 dengan JET_bitTransactionReadOnly. Kesalahan ini hanya akan dikembalikan oleh Windows XP dan rilis yang lebih baru.

JET_errWriteConflict

Sesi lain sebelumnya telah mengunci rekaman untuk pembaruan. Pembaruan yang dicoba oleh sesi ini akan gagal.

Jika berhasil, nilai default kolom yang ditentukan dalam tabel yang diberikan dalam database yang diberikan diubah secara permanen ke nilai default baru.

Jika gagal, tidak ada perubahan pada status database yang akan terjadi.

Keterangan

Tidak dimungkinkan untuk mengubah nilai default kolom dalam tabel templat.

Mesin database akan secara diam-diam memotong nilai default kolom menjadi 255 byte untuk teks panjang dan kolom biner panjang.

Persyaratan

Persyaratan Nilai

Klien

Memerlukan Windows Vista, Windows XP, atau Windows 2000 Professional.

Server

Memerlukan Windows Server 2008, Windows Server 2003, atau Windows 2000 Server.

Header

Dinyatakan dalam Esent.h.

Pustaka

Gunakan ESENT.lib.

DLL

Membutuhkan ESENT.dll.

Unicode

Diimplementasikan sebagai JetSetColumnDefaultValueW (Unicode) dan JetSetColumnDefaultValueA (ANSI).

Lihat juga

JET_DBID
JET_ERR
JET_GRBIT
JET_SESID
JetBeginTransaction2
JetStopService