Bir den fazla tabloya Update yapma.
Tarih
06/06/2013 22:17
Konu Sahibi
oztuncla
Yorumlar
2
Okunma
1824
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy



Çözüldü 
Aşağıdaki kodlar yardımı ile bir form üzerinden ayrı 3 tabloya kayıt yapabiliyorum fakat güncelleme yaptığım zaman ilk döngüde güncelleme yapıyor fakat adres bilgilerine geldiği zaman hata veriyor kodlarda bir yanlışım varmı acaba..

tablo adı kolon adları doğru defalarca kontrol ettim textbox larda doğru kod da mi hata var.




Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
 Dim Sor As Integer
        Try

            If Me.TextBox1.Text = "" Or Me.ComboBox2.Text = "" Or Me.ComboBox3.Text = "" Or Me.ComboBox4.Text = "" Or Me.TextBox5.Text = "" Or Me.TextBox6.Text = "" Or Me.TextBox7.Text = "" Or Me.ComboBox5.Text = "" Or Me.TextBox9.Text = "" Or Me.ComboBox6.Text = "" Or Me.TextBox11.Text = "" Or Me.TextBox12.Text = "" Or Me.TextBox13.Text = "" Then
                MsgBox("Seçilmesi Gereken Alanlardan Bir veya Birkaçını Seçmedin.", MsgBoxStyle.Exclamation, "Kayıt Uyarı")
            Else
                Dim data As New String("UPDATE konut_kayit SET konut_durumu='" + ComboBox2.Text + "',turu='" + ComboBox3.Text + "',sinifi='" + ComboBox4.Text + "',ulasim='" + TextBox5.Text + "',konut_yasi=" + TextBox6.Text + ",kat_sayisi=" + TextBox7.Text + ",isinma_sekli='" + ComboBox5.Text + "',buyuklugu=" + TextBox9.Text + ",oda_sayisi=" + ComboBox6.Text + ",kacinci_kat=" + TextBox11.Text + ",bahcesi='" + TextBox12.Text + "',fiyat=" + TextBox13.Text + " WHERE konut_no=" + TextBox1.Text + " ")
                data = String.Format(data, TextBox1.Text, TextBox2.Text)
                Dim baglanti As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=|DataDirectory|\KonutKayıt.accdb; Persist Security Info=False;")
                Dim komutnesnesi As New OleDb.OleDbCommand(data, baglanti)
                Dim sonuc As Integer
                baglanti.Open()
                sonuc = komutnesnesi.ExecuteNonQuery()
                If sonuc = 1 Then
                    MsgBox("Konut Bilgileri Kayıt Güncellenmiştir.", MsgBoxStyle.Exclamation, "Kayıt İşlemi")
                    baglanti.Close()
                End If
            End If

            Sor = MsgBox("Adres Bilgileri Güncellensin mi ?", vbYesNo)

            If Sor = vbYes Then

                If Me.TextBox2.Text = "" Or Me.TextBox3.Text = "" Or Me.TextBox4.Text = "" Or Me.TextBox8.Text = "" Or Me.TextBox10.Text = "" Or Me.TextBox14.Text = "" Or Me.TextBox15.Text = "" Or Me.TextBox16.Text = "" Or Me.TextBox17.Text = "" Or Me.TextBox18.Text = "" Or Me.TextBox19.Text = "" Then
                    MsgBox("Seçilmesi Gereken Alanlardan Bir veya Birkaçını Seçmedin.", MsgBoxStyle.Exclamation, "Kayıt Uyarı")
                Else
                    Dim data As New String("UPDATE adres_bilgileri SET semt='" + TextBox3.Text + "',mahalle='" + TextBox4.Text + "',cadde='" + TextBox8.Text + "',sokak='" + TextBox10.Text + "',daire_no=" + TextBox14.Text + ",no1=" + TextBox15.Text + ",acik_adres='" + TextBox16.Text + "',ulke='" + TextBox17.Text + "',il='" + TextBox18.Text + "'',ilce='" + TextBox19.Text + "' WHERE konut_adi='" + TextBox2.Text + "' ")
                    data = String.Format(data, TextBox3.Text, TextBox4.Text)
                    Dim baglanti As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=|DataDirectory|\KonutKayıt.accdb; Persist Security Info=False;")
                    Dim komutnesnesi As New OleDb.OleDbCommand(data, baglanti)
                    Dim sonuc As Integer
                    baglanti.Open()
                    sonuc = komutnesnesi.ExecuteNonQuery()
                    If sonuc = 1 Then
                        MsgBox("Adres Bilgileri Kayıt Olmuştur.", MsgBoxStyle.Exclamation, "Kayıt İşlemi")
                        baglanti.Close()
                    End If
                End If

            End If

            Sor = MsgBox("Müşteri Bilgileri Kayıt Yapılsın mı ?", vbYesNo)

            If Sor = vbYes Then

                If Me.TextBox20.Text = "" Or Me.TextBox21.Text = "" Or Me.TextBox22.Text = "" Or Me.TextBox23.Text = "" Or Me.TextBox24.Text = "" Or Me.TextBox25.Text = "" Then
                    MsgBox("Seçilmesi Gereken Alanlardan Bir veya Birkaçını Seçmedin.", MsgBoxStyle.Exclamation, "Kayıt Uyarı")
                Else
                    Dim data As New String("UPDATE musteri_bilgileri SET ad_soyad='" + TextBox21.Text + "',gsm1=" + TextBox22.Text + ",gsm2=" + TextBox23.Text + ",adres='" + TextBox24.Text + "',extra_not2='" + TextBox25.Text + "' WHERE musteri_no=" + TextBox20.Text + "")
                    data = String.Format(data, TextBox3.Text, TextBox4.Text)
                    Dim baglanti As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=|DataDirectory|\KonutKayıt.accdb; Persist Security Info=False;")
                    Dim komutnesnesi As New OleDb.OleDbCommand(data, baglanti)
                    Dim sonuc As Integer
                    baglanti.Open()
                    sonuc = komutnesnesi.ExecuteNonQuery()
                    If sonuc = 1 Then
                        MsgBox("Muşteri Bilgileri Kayıt Olmuştur.", MsgBoxStyle.Exclamation, "Kayıt İşlemi")
                        baglanti.Close()
                        Sil1()
                    End If
                End If

            End If

        Catch ex As Exception
            MsgBox("Bir Hata Oluştu !!!!")
        End Try

Cevapla


alpeki99
Yeniden başlayabilmek...
Kullanici Avatari
Uzman
O....
5.988
29/10/2008
Ordu
Ofis 2013 32 Bit
Bugün,09:49
Çözüldü 
1- İkinci Sql cümlenizde WHERE şartını belirtmemişsiniz.
2- Catch ex As Exception
MsgBox("Bir Hata Oluştu !!!!")
End Try
gibi bir hata yakalama sistemi kullanacaksanız ex isimli değişkeni kullanmamak büyük hata olabilir. En azından Debug modda çalışırken Msgbox ex.Message şeklinde hata açıklamasını yazdırabilirsiniz. ex.Message dedim ancak ezbere yazdım Vb.Net te en azından buna benzer bir şekilde kullanılıyordur. Hatanızı daha net anlayabilirsiniz.
3- Kullandığınız semt='" + TextBox3.Text + "' şeklindeki ifadeler program güvenliği açısından ciddi tehlike arz eder. Bu şekilde başka kullanıcılar sizin hesabınızla işlem yapabildiği gibi, hesaplarda oynama yapabilir hatta tüm veritabanını silebilir. Bundan dolayı parametreli şekilde çalışırsanız daha iyi olacaktır.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla


Çözüldü 
(06/06/2013, 22:27)alpeki99 Adlı Kullanıcıdan Alıntı: 1- İkinci Sql cümlenizde WHERE şartını belirtmemişsiniz.
2- Catch ex As Exception
MsgBox("Bir Hata Oluştu !!!!")
End Try
gibi bir hata yakalama sistemi kullanacaksanız ex isimli değişkeni kullanmamak büyük hata olabilir. En azından Debug modda çalışırken Msgbox ex.Message şeklinde hata açıklamasını yazdırabilirsiniz. ex.Message dedim ancak ezbere yazdım Vb.Net te en azından buna benzer bir şekilde kullanılıyordur. Hatanızı daha net anlayabilirsiniz.
3- Kullandığınız semt='" + TextBox3.Text + "' şeklindeki ifadeler program güvenliği açısından ciddi tehlike arz eder. Bu şekilde başka kullanıcılar sizin hesabınızla işlem yapabildiği gibi, hesaplarda oynama yapabilir hatta tüm veritabanını silebilir. Bundan dolayı parametreli şekilde çalışırsanız daha iyi olacaktır.


vb.net yeni başladığım okulda 6.0 gösteriyorlar ben projeyi 2010 yapmak istedim böyle devam ettim diğer yolu öğrenincede o kadar kodu değiştirmeye erindim açıkçası. ikinci 2. sgl cümlemde where sorgusu en sonda ilk Sql cümlemde olduğu gibi.

Tamam sorun çözüldü il='"+textbox18.text+"' tek tırnak fazladan koymuşum Lol gözden kaçmış her şey için teşekkür ederim...
Sorun Çözüldü.....
Cevapla







Konuyu Okuyanlar: 1 Ziyaretçi


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
Çözüldü excel dosyasını vb.net ile okuma ve dosyayı değişiklik yapma. Caner07 5 3.692 21/07/2014, 08:06 alpeki99
Çözüldü VB ile access'e veri eklemek (Insert-Update-Delete) nasıl kullanılır yani ? mertkaymak 3 5.031 18/09/2013, 04:34 rastignac
Çözüldü Bir fazla tabloda, birden çok veri arama nasıl yapılır. oztuncla 7 2.832 03/06/2013, 21:34 oztuncla
Çözüldü İki tabloya kayıtta şart drummers 3 1.386 19/02/2012, 23:10 drummers
Çözüldü İki tabloya kayıt drummers 4 1.909 04/02/2012, 21:52 drummers


Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2016 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya