• 18-03-2013, 16:13:54
    #1
    Merhaba,

    Bir datagridim var, verileri çekiyorum.

    | ADI | SOYADI | EMAIL | SEHIR | TELEFON |
    .
    .
    .


    20 ayrı kayıt alt alta listelendiğini düşünün. Altta bulunan kaydet butonuma basıldğında farklı bir tabloya bu kayıtlarının hepsini alt alta kaydetmek istiyorum.
    ayri ID ler olarak. insert kodumu nasıl yazmalıyım


    teşekkürler.
    (visual basic)

    (NOT: for döngüsünde zayıfım, for ile yapılacakmış gibime geliyor ama mantık kuramadım )
  • 18-03-2013, 18:36:12
    #2
    access mi yoksa sqlserver mı yoksa mysql mi? istersen teamviewer id-pass ver iki dakika yapayım

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 18:36:12 -->-> Daha önceki mesaj 18:04:37 --

    Sanırım görmedin yazdığımı, acelem var o yüzden kodu buraya yazıyorum kendine göre düzeltirsin. Access kullandığını varsayıyorum

           Dim con As OleDbConnection = New OleDbConnection("Provider....")
            Dim cmd As OleDbCommand = New OleDbCommand()
            cmd.Connection = con
            con.Open
    
            Dim cmdstr As String
            For Each row As DataGridViewRow In DataGridView1.Rows
    
                cmdstr = String.Format("Insert into tabloadin(ADI,SOYADI,EMAIL,SEHIR,TELEFON) values('{0}','{1}','{2}','{3}','{4}')", row.Cells(0).Value, row.Cells(1).Value, row.Cells(2).Value, row.Cells(3).Value,row.Cells(4).Value)
    
                cmd.CommandText = cmdstr
                cmd.ExecuteNonQuery()
            Next
    
            con.Close()
            MessageBox.Show("Kayıt tamamlandı")

    provider kısmını yazarsın, bir de tablo adını yazarsın insert intoya.

    eğer sql server kullnıyorsan OleDb yerine Sql yazacaksın o kadar. parametre ile de yapabilirsin sql serverda ama ms access desteklemediği için yazmadım.
    kodunu denemedim ama bu şekilde çalışması lazım.

    bu arada id kolonunu yazmana gerek yok, db de id yi PK (primary key) olarak ayarlamış ve increase değerini 1 yapmışsan yani kendi kendini arttırıyorsa o zaman id yi yazmana gerek yok, kendisi ekler
  • 18-03-2013, 22:03:03
    #3
    ertan teşekkürler, sql kullanıyorum ona göre düzenleyeceğim. accessle denedim çalıştı.

    .open uyarısı verdi onuda koydum üstte sonra çalıştı sağol.

    con.open() kodunuda eklersen mesajina diğer arkadaşlar yararlanırken sıkıntı çekmesinler diye.

    tekrar teşekkürler

    nedir bu for dan çektiğim
  • 18-03-2013, 23:41:46
    #4
    tamamdır ekledim şimdi, unutmuşum eklemeyi.