Bagikan melalui


Menyimpan data dari objek ke database di aplikasi .NET Framework

Catatan

Himpunan data dan kelas terkait adalah teknologi .NET Framework warisan dari awal 2000-an yang memungkinkan aplikasi untuk bekerja dengan data dalam memori saat aplikasi terputus dari database. Himpunan data tersebut sangat berguna untuk aplikasi yang mengaktifkan pengguna guna memodifikasi data dan mempertahankan perubahan kembali ke database. Meskipun himpunan data telah terbukti menjadi teknologi yang sangat sukses, sebaiknya aplikasi .NET baru menggunakan Entity Framework Core. Entity Framework menyediakan cara yang lebih alami untuk bekerja dengan data tabular sebagai model objek, dan memiliki antarmuka pemrograman yang lebih sederhana.

Anda dapat menyimpan data dalam objek ke database dengan meneruskan nilai dari objek Anda ke salah satu metode DBDirect TableAdapter (misalnya, TableAdapter.Insert). Untuk informasi selengkapnya, lihat TableAdapter.

Untuk menyimpan data dari kumpulan objek, ulangi kumpulan objek (misalnya, perulangan untuk berikutnya), dan kirim nilai untuk setiap objek ke database dengan menggunakan salah satu metode TableAdapter DBDirect .

Secara default, DBDirect metode dibuat pada TableAdapter yang dapat dijalankan langsung terhadap database. Metode ini dapat dipanggil secara langsung dan tidak mengharuskan DataSet atau DataTable objek untuk mendamaikan perubahan untuk mengirim pembaruan ke database.

Catatan

Saat Anda mengonfigurasi TableAdapter, kueri utama harus memberikan informasi yang cukup untuk metode yang DBDirect akan dibuat. Misalnya, jika TableAdapter dikonfigurasi untuk mengkueri data dari tabel yang tidak memiliki kolom kunci utama yang ditentukan, itu tidak menghasilkan DBDirect metode.

Metode DBDirect TableAdapter Deskripsi
TableAdapter.Insert Menambahkan rekaman baru ke database dan memungkinkan Anda meneruskan nilai kolom individual sebagai parameter metode.
TableAdapter.Update Memperbarui rekaman yang sudah ada dalam database. Metode ini Update mengambil nilai kolom asli dan baru sebagai parameter metode. Nilai asal digunakan untuk mencari rekaman asal, dan nilai baru digunakan untuk memperbarui rekaman tersebut.

Metode TableAdapter.Update ini juga digunakan untuk mendamaikan perubahan dalam himpunan data kembali ke database dengan mengambil DataSet, , DataTableDataRow, atau array dari DataRowsebagai parameter metode.
TableAdapter.Delete Menghapus rekaman yang sudah ada dari database berdasarkan nilai kolom asal yang diteruskan sebagai parameter metode.

Untuk menyimpan rekaman baru dari objek ke database

  • Buat rekaman dengan meneruskan nilai ke TableAdapter.Insert metode .

    Contoh berikut membuat rekaman pelanggan baru dalam Customers tabel dengan meneruskan nilai dalam currentCustomer objek ke TableAdapter.Insert metode .

    private void AddNewCustomers(Customer currentCustomer)
    {
        customersTableAdapter.Insert( 
            currentCustomer.CustomerID, 
            currentCustomer.CompanyName, 
            currentCustomer.ContactName, 
            currentCustomer.ContactTitle, 
            currentCustomer.Address, 
            currentCustomer.City, 
            currentCustomer.Region, 
            currentCustomer.PostalCode, 
            currentCustomer.Country, 
            currentCustomer.Phone, 
            currentCustomer.Fax);
    }
    

Untuk memperbarui rekaman yang sudah ada dari objek ke database

  • Ubah rekaman dengan memanggil TableAdapter.Update metode , meneruskan nilai baru untuk memperbarui rekaman, dan meneruskan nilai asli untuk menemukan rekaman.

    Catatan

    Objek Anda perlu mempertahankan nilai asli untuk meneruskannya ke Update metode . Contoh ini menggunakan properti dengan orig awalan untuk menyimpan nilai asli.

    Contoh berikut memperbarui rekaman yang sudah ada dalam Customers tabel dengan meneruskan nilai baru dan asli dalam Customer objek ke TableAdapter.Update metode .

    private void UpdateCustomer(Customer cust)
    {
        customersTableAdapter.Update(
            cust.CustomerID,
            cust.CompanyName,
            cust.ContactName,
            cust.ContactTitle,
            cust.Address,
            cust.City,
            cust.Region,
            cust.PostalCode,
            cust.Country,
            cust.Phone,
            cust.Fax,
            cust.origCustomerID,
            cust.origCompanyName,
            cust.origContactName,
            cust.origContactTitle,
            cust.origAddress,
            cust.origCity,
            cust.origRegion,
            cust.origPostalCode,
            cust.origCountry,
            cust.origPhone,
            cust.origFax);
    }
    

Untuk menghapus rekaman yang sudah ada dari database

  • Hapus rekaman dengan memanggil TableAdapter.Delete metode dan meneruskan nilai asli untuk menemukan rekaman.

    Catatan

    Objek Anda perlu mempertahankan nilai asli untuk meneruskannya ke Delete metode . Contoh ini menggunakan properti dengan orig awalan untuk menyimpan nilai asli.

    Contoh berikut menghapus rekaman dari Customers tabel dengan meneruskan nilai asli dalam Customer objek ke TableAdapter.Delete metode .

    private void DeleteCustomer(Customer cust)
    {
        customersTableAdapter.Delete(
            cust.origCustomerID,
            cust.origCompanyName,
            cust.origContactName,
            cust.origContactTitle,
            cust.origAddress,
            cust.origCity,
            cust.origRegion,
            cust.origPostalCode,
            cust.origCountry,
            cust.origPhone,
            cust.origFax);
    }
    

Keamanan .NET

Anda harus memiliki izin untuk melakukan yang dipilih INSERT, , UPDATEatau DELETE pada tabel dalam database.