none
(Sumber: milist DOTNET) menginsert data ke database dengan LINQ RRS feed

  • Pertanyaan

  • Pagi teman-teman, saya butuh bantuan nih dari yang udah pengalaman dengan LINQ, soalnya saya masih newbie di LINQ.
    saya ingin menginsert data ke beberapa tabel dengan data yang diambil dari datagrid dan text inputan dari user.
    setiap tabel akan mengambil dua data yaitu 'text inputan atau pilihan dari dropdown' dan data yang diambil dari baris datagridview yang dipilih.
    saya sudah membuat 4 objek (dari 4 tabel) dan memasukkan 2 atribut (2 data yang akan dimasukkan ke dalam tabel) untuk setiap objeknya.

    namun saat dijalankan muncul error seperti ini:


    Cannot insert explicit value for identity column in table 'SIMRS_rekmed_pemeriksaan_fisik' when IDENTITY_INSERT is set to OFF.

    saya kira itu krn primary key dari tabel SIMRS_rekmed_pemeriksaan_fisik tidak terconvert ke integer, namun setelah saya mengkonvert datanya, errornya tetap sama.

    berikut event yang terjadi saat tombol submit diklik oleh user
    public void btn_submit_Click(object sender, EventArgs e)
            {
                DLdiagnosa.Visible = false;
                var pf = txt_pemeriksaan_fisik.Text;
                var diagnosa = DLdiagnosa.Text;
                var tindakan = txt_tindakan.Text;
                var nasihat = txt_nasihat.Text;
              
     
                    SIMRS_DataClassesDataContext db = new SIMRS_DataClassesDataContext();

                    int num;
                    int id_tindakan;

                    //mengambil no_rekam_medik dari gridview
                    string selectedItem = GridView1.SelectedRow.Cells[3].Text;
                    num = Convert.ToInt32(selectedItem);
                    id_tindakan = Convert.ToInt32(tindakan);
               
                    //membuat objek pemeriksaan fisik,diagnosa,tindakan, nasihat
                    SIMRS_rekmed_pemeriksaan_fisik newpf = new SIMRS_rekmed_pemeriksaan_fisik();
                    SIMRS_rekmed_diagnosa newdiagnosa = new SIMRS_rekmed_diagnosa();
                    SIMRS_rekmed_tindakan newtindakan = new SIMRS_rekmed_tindakan();
                    SIMRS_rekmed_nasihat newnasihat = new SIMRS_rekmed_nasihat();

                    //memasukkan nilai ke dalam objek
                    newpf.pemeriksaan_fisik = pf;
                    newpf.no_rekam_medik = num;

                    newdiagnosa.diagnosa = diagnosa;
                    newdiagnosa.no_rekam_medik = num;

                    newtindakan.id_tarif = id_tindakan;
                    newtindakan.no_rekam_medik = num;

                    newnasihat.nasihat = nasihat;
                    newnasihat.no_rekam_medik = num;

                 
                    //submit objek ke database
                    db.SIMRS_rekmed_pemeriksaan_fisiks.InsertOnSubmit(newpf);
                    db.SIMRS_rekmed_diagnosas.InsertOnSubmit(newdiagnosa);
                    db.SIMRS_rekmed_tindakans.InsertOnSubmit(newtindakan);
                    db.SIMRS_rekmed_nasihats.InsertOnSubmit(newnasihat);

                    //Sumbit changes to the database
                    db.SubmitChanges();

    mohon pencerahannya, trims


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Senin, 26 September 2011 03.20
    Moderator

Jawaban

  • Boleh kasih gambaran tentang Table database-nya tidak? Sebab saya lihat kok semua ada kolom no_rekam_medik. Coba di Print Screen aja file SIMRS_DataClasses.dbml yang anda buat dan di save as image kemudian di e-mail. Mungkin saya bisa bantu mendesain RDBMS-nya.

     

    Menurut saya kalau sudah seperti itu bentuknya dah salto (salah total). Tapi belum tentu sebab saya belum lihat model yang anda buat. Mudah2an nanti juga ada master (MVP) SQL Server 2008 yang ikut bantuin. Trims.

     

    Dijawab oleh: Riza Marhaban

     


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Senin, 26 September 2011 03.21
    Moderator

Semua Balasan

  • Boleh kasih gambaran tentang Table database-nya tidak? Sebab saya lihat kok semua ada kolom no_rekam_medik. Coba di Print Screen aja file SIMRS_DataClasses.dbml yang anda buat dan di save as image kemudian di e-mail. Mungkin saya bisa bantu mendesain RDBMS-nya.

     

    Menurut saya kalau sudah seperti itu bentuknya dah salto (salah total). Tapi belum tentu sebab saya belum lihat model yang anda buat. Mudah2an nanti juga ada master (MVP) SQL Server 2008 yang ikut bantuin. Trims.

     

    Dijawab oleh: Riza Marhaban

     


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Senin, 26 September 2011 03.21
    Moderator
  • Tadi pas dioprek-oprek, saya mengulang membuat .dbml nya dengan mendrag ulang table2 yang diperlukan dan ternyata insertnya berhasil.
    setelah nanya ke google ternyata penyebabnya karena saya telah mengubah-ubah settingan di file .mdfnya (tidak sengaja dan tidak tercatat ^-^' ) dan membuat file .mdfnya tidak sama lg dengan table2 pada sql servernya. Trims yah tanggapannya. :)


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Senin, 26 September 2011 03.27
    Moderator