Metode View.Modifikasi

Metode Modifikasi objek Tampilan memodifikasi baris database dengan objek Rekaman yang dimodifikasi yang diperoleh oleh metode Ambil .

Sintaks

View.Modify(
  action,
  record
)

Parameter

tindakan

Tindakan yang diperlukan untuk dilakukan pada baris database. Tindakan ini adalah salah satu tindakan yang diperlihatkan dalam tabel berikut ini.

Nama tindakan Makna
msiViewModifySeek
–1
Merefresh informasi dalam rekaman yang disediakan tanpa mengubah posisi dalam tataan hasil dan tanpa memengaruhi operasi pengambilan berikutnya. Rekaman kemudian dapat digunakan untuk Pembaruan, Penghapusan, dan Refresh berikutnya. Semua kolom kunci utama tabel harus berada dalam kueri dan rekaman harus memiliki setidaknya bidang sebanyak kueri. Pencarian tidak dapat digunakan dengan kueri multitabel. Lihat keterangannya. Mode ini tidak dapat digunakan dengan tampilan yang berisi gabungan.
msiViewModifyRefresh
0
Menyegarkan informasi dalam rekaman. Harus terlebih dahulu memanggil metode Ambil dengan rekaman yang sama. Gagal untuk baris yang dihapus. Bekerja dengan rekaman baca-tulis dan baca-saja.
msiViewModifyInsert
1
Menyisipkan rekaman. Gagal jika baris dengan kunci primer yang sama ada. Gagal dengan database baca-saja. Mode ini tidak dapat digunakan dengan tampilan yang berisi gabungan.
msiViewModifyUpdate
2
Updates rekaman yang sudah ada. Kunci non-primer saja. Harus terlebih dahulu memanggil metode Ambil dengan rekaman yang sama. Gagal dengan rekaman yang dihapus. Hanya berfungsi dengan catatan baca-tulis.
msiViewModifyAssign
3
Menulis data saat ini dalam kursor ke baris tabel. Updates merekam jika kunci primer cocok dengan baris yang ada dan menyisipkan jika tidak cocok. Gagal dengan database baca-saja. Mode ini tidak dapat digunakan dengan tampilan yang berisi gabungan.
msiViewModifyReplace
4
Updates atau menghapus dan menyisipkan rekaman ke dalam tabel. Harus terlebih dahulu memanggil metode Ambil dengan rekaman yang sama. Updates merekam apakah kunci primer tidak berubah. Menghapus baris lama dan menyisipkan baru jika kunci primer telah berubah. Gagal dengan database baca-saja. Mode ini tidak dapat digunakan dengan tampilan yang berisi gabungan.
msiViewModifyMerge
5
Menyisipkan atau memvalidasi rekaman dalam tabel. Menyisipkan jika kunci primer tidak cocok dengan baris apa pun dan memvalidasi jika ada kecocokan. Gagal jika rekaman tidak cocok dengan data dalam tabel. Gagal jika ada rekaman dengan kunci duplikat yang tidak identik. Hanya berfungsi dengan catatan baca-tulis. Mode ini tidak dapat digunakan dengan tampilan yang berisi gabungan.
msiViewModifyDelete
6
Menghapus baris dari tabel. Harus terlebih dahulu memanggil metode Ambil dengan rekaman yang sama. Gagal jika baris telah dihapus. Hanya berfungsi dengan catatan baca-tulis. Mode ini tidak dapat digunakan dengan tampilan yang berisi gabungan.
msiViewModifyInsertTemporary
7
Menyisipkan rekaman sementara. Informasi tidak persisten. Gagal jika ada baris dengan kunci primer yang sama. Hanya berfungsi dengan catatan baca-tulis. Mode ini tidak dapat digunakan dengan tampilan yang berisi gabungan.
msiViewModifyValidate
8
Memvalidasi rekaman. Tidak memvalidasi di seluruh gabungan. Harus terlebih dahulu memanggil metode Ambil dengan rekaman yang sama. Dapatkan kesalahan validasi dengan metode GetError . Bekerja dengan rekaman baca-tulis dan baca-saja. Mode ini tidak dapat digunakan dengan tampilan yang berisi gabungan.
msiViewModifyValidateNew
9
Memvalidasi rekaman baru. Tidak memvalidasi di seluruh gabungan. Memeriksa kunci duplikat. Mendapatkan kesalahan validasi dengan memanggil metode GetError . Memerlukan panggilan metode MsiDatabase.OpenView dengan nilai modifikasi. Bekerja dengan rekaman baca-tulis dan baca-saja. Mode ini tidak dapat digunakan dengan tampilan yang berisi gabungan.
msiViewModifyValidateField
10
Memvalidasi bidang rekaman yang diambil atau baru. Bisa memvalidasi satu atau beberapa bidang rekaman yang tidak lengkap. Mendapatkan kesalahan validasi dengan memanggil metode GetError . Bekerja dengan rekaman baca-tulis dan baca-saja. Mode ini tidak dapat digunakan dengan tampilan yang berisi gabungan.
msiViewModifyValidateDelete
11
Memvalidasi rekaman yang akan dihapus nanti. Harus terlebih dahulu memanggil metode Ambil dengan rekaman yang sama. Gagal jika baris lain mengacu pada kunci utama baris ini. Validasi tidak memeriksa keberadaan kunci primer baris ini dalam properti atau string. Tidak memeriksa apakah kolom adalah kunci asing untuk beberapa tabel. Dapatkan kesalahan validasi dengan memanggil metode GetError . Bekerja dengan catatan baca-tulis dan baca-saja. Mode ini tidak dapat digunakan dengan tampilan yang berisi gabungan.

 

record

Wajib diisi. Rekam objek yang diperoleh oleh metode Ambil dengan data bidang yang dimodifikasi.

Nilai kembali

Metode ini tidak mengembalikan nilai.

Keterangan

Metode ini harus dipanggil setelah metode Execute .

Untuk menjalankan pernyataan SQL apa pun, tampilan harus dibuat. Namun, tampilan yang tidak membuat kumpulan hasil, seperti CREATE TABLE atau INSERT INTO, tidak dapat digunakan dengan metode Modifikasi untuk memperbarui tabel melalui tampilan.

Nilai msiViewModifyValidate, msiViewModifyValidateNew, msiViewModifyValidateField, dan msiViewModifyValidateDelete dari metode Modifikasi tidak melakukan pembaruan aktual; mereka memastikan bahwa data dalam rekaman valid. Penggunaan tindakan ini mengharuskan database berisi tabel _Validation .

Anda tidak dapat mengambil rekaman yang berisi data biner dari satu database lalu menggunakan rekaman tersebut untuk menyisipkan data ke dalam database yang sama sekali berbeda. Untuk memindahkan data biner dari satu database ke database lain, Anda harus mengekspor data ke file lalu mengimpornya ke database baru menggunakan metode SetStream dari objek Rekaman . Ini memastikan bahwa setiap database memiliki salinan data biner sendiri.

Catatan

Tindakan kustom hanya bisa menambahkan, memodifikasi, atau menghapus baris, kolom, atau tabel sementara dari database. Tindakan kustom tidak dapat mengubah data persisten dalam database, seperti data yang merupakan bagian dari database yang disimpan di disk. Untuk informasi selengkapnya, lihat Mengakses Sesi Penginstal Saat Ini dari Dalam Tindakan Kustom.

 

Jika metode gagal, Anda dapat memperoleh informasi kesalahan yang diperluas dengan menggunakan metode LastErrorRecord .

Persyaratan

Persyaratan Nilai
Versi
Windows Installer 5.0 di Windows Server 2012, Windows 8, Windows Server 2008 R2 atau Windows 7. Windows Installer 4.0 atau Windows Installer 4.5 di Windows Server 2008 atau Windows Vista. Pemasang Windows pada Windows Server 2003 atau Windows XP
DLL
Msi.dll
IID
IID_IView didefinisikan sebagai 000C109C-0000-0000-C000-000000000046