تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مساعدة تصحيح الكود
#1
Photo 
السلام عليكم عندي مشكلة عند الحفظ ، كل شيئ عادي بالنسبة للتعديل لكن عند الاضافة ثم الحفظ يظهر الخطأ



 Private Sub btn_save_Click(sender As Object, e As EventArgs) Handles btn_save.Click

        If txt_code.Text = "" Or txt_name.Text = "" Or txt_price.Text = "" Or txt_chiraa.Text = "" Then
            MsgBox("أكمل الحقول الفارغة")
            Exit Sub

        End If

        Try
            If add = 1 Then
                For i As Integer = 0 To dgv_item.Rows.Count - 1
                    If txt_code.Text = dgv_item.Rows(i).Cells(1).Value Then
                        MsgBox("  هذاالصنف موجود من قبل  " + txt_code.Text)

                    End If
                Next
                insert_item(txt_code.Text, txt_name.Text, txt_price.Text, txt_chiraa.Text)

                load_item()
                MsgBox("تمت الإضافة بنجاح")

                update_item(txt_code.Text, txt_name.Text, txt_price.Text, txt_chiraa.Text, id)

                load_item()

                MsgBox("تم التحديث بنجاح")


            Else
                update_item(txt_code.Text, txt_name.Text, txt_price.Text, txt_chiraa.Text, id)

                load_item()

                MsgBox("تم التحديث بنجاح")
            End If
        Catch ex As Exception
            MsgBox("هناك خطأ في إدخال البيانات")

            Exit Sub

        End Try

        clear_txt()
        no_en_txt()

    End Sub




و هذا كود كله :

Imports System.Data.OleDb

Public Class frm_item
    Dim add As Integer = 1
    Dim id As Integer
    Sub clear_txt()
        txt_code.Clear()
        txt_name.Clear()
        txt_price.Clear()
        txt_chiraa.Clear()
        txt_code.Focus()
    End Sub

    Sub en_txt()
        txt_code.Enabled = True
        txt_name.Enabled = True
        txt_price.Enabled = True
        txt_chiraa.Enabled = True

        btn_save.Enabled = True
    End Sub
    Sub no_en_txt()
        txt_code.Enabled = False
        txt_name.Enabled = False
        txt_price.Enabled = False
        txt_chiraa.Enabled = False

        btn_save.Enabled = False
    End Sub

    Private Sub frm_item_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        load_item()
        dgv_item.DataSource = dt_item
        dgv_item.Columns(0).Width = 50
        dgv_item.Columns(3).Width = 100
        dgv_item.Columns(4).Width = 100

        dgv_item.Columns(0).HeaderText = "الرقم"
        dgv_item.Columns(1).HeaderText = "الكود بار"
        dgv_item.Columns(2).HeaderText = "الصنف"
        dgv_item.Columns(3).HeaderText = "السعر"
        dgv_item.Columns(4).HeaderText = "سعر الشراء"
        no_en_txt()

    End Sub

    Private Sub dgv_item_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgv_item.CellContentClick

    End Sub

    Private Sub btn_edite_Click(sender As Object, e As EventArgs) Handles btn_edite.Click
        add = 2
        clear_txt()
        en_txt()
        id = dgv_item.CurrentRow.Cells(0).Value
        txt_code.Text = dgv_item.CurrentRow.Cells(1).Value
        txt_name.Text = dgv_item.CurrentRow.Cells(2).Value
        txt_price.Text = dgv_item.CurrentRow.Cells(3).Value
        txt_chiraa.Text = dgv_item.CurrentRow.Cells(4).Value

        txt_code.Enabled = False


    End Sub

    Private Sub btn_save_Click(sender As Object, e As EventArgs) Handles btn_save.Click

        If txt_code.Text = "" Or txt_name.Text = "" Or txt_price.Text = "" Or txt_chiraa.Text = "" Then
            MsgBox("أكمل الحقول الفارغة")
            Exit Sub

        End If

        Try
            If add = 1 Then
                For i As Integer = 0 To dgv_item.Rows.Count - 1
                    If txt_code.Text = dgv_item.Rows(i).Cells(1).Value Then
                        MsgBox("  هذاالصنف موجود من قبل  " + txt_code.Text)

                    End If
                Next
                insert_item(txt_code.Text, txt_name.Text, txt_price.Text, txt_chiraa.Text)

                load_item()
                MsgBox("تمت الإضافة بنجاح")

                update_item(txt_code.Text, txt_name.Text, txt_price.Text, txt_chiraa.Text, id)

                load_item()

                MsgBox("تم التحديث بنجاح")


            Else
                update_item(txt_code.Text, txt_name.Text, txt_price.Text, txt_chiraa.Text, id)

                load_item()

                MsgBox("تم التحديث بنجاح")
            End If
        Catch ex As Exception
            MsgBox("هناك خطأ في إدخال البيانات")

            Exit Sub

        End Try

        clear_txt()
        no_en_txt()

    End Sub

    Private Sub btn_delet_Click(sender As Object, e As EventArgs) Handles btn_delet.Click
        Try
            If MessageBox.Show(" متأكد من الحذف  ", " حذف " + dgv_item.CurrentRow.Cells(2).Value, MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
                id = dgv_item.CurrentRow.Cells(0).Value
                delete_item(id)
                load_item()
            End If

        Catch ex As Exception
            MsgBox(ex.Message)
            Exit Sub

        End Try

    End Sub

    Private Sub txt_code_TextChanged(sender As Object, e As EventArgs) Handles txt_code.TextChanged

    End Sub

    Private Sub txt_price_TextChanged(sender As Object, e As EventArgs) Handles txt_price.TextChanged

    End Sub

    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged

        Dim dt1 As New DataTable
        Dim da1 As New OleDbDataAdapter

        da1 = New OleDbDataAdapter("select * from tbl_items where item_name like '%" & TextBox1.Text & "%'", Con)

        da1.Fill(dt1)
        dgv_item.DataSource = dt1

    End Sub

    Private Sub Label5_Click(sender As Object, e As EventArgs) Handles Label5.Click

    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btn_add.Click
        add = 1
        en_txt()
        clear_txt()
    End Sub

    Private Sub txt_chiraa_TextChanged(sender As Object, e As EventArgs) Handles txt_chiraa.TextChanged

    End Sub
End Class
------------------------
منكم أتعلم
------------------------

الرد }}}
تم الشكر بواسطة:
#2
مساااااااااااااااااااااااااااااعدة من فظلكم
------------------------
منكم أتعلم
------------------------

الرد }}}
تم الشكر بواسطة:
#3
ضع النافذة التي فيها المشكلة و ضع الجدول قي قاعدة البيانات أكسيس مع الفانكشن الخاص بالاضافة في مثال صغير وضعه في المرفقات للتصحيح .
الرد }}}
تم الشكر بواسطة: سعود , sofiane-phy
#4
وعليكم السلام ورحمة الله وبركاته

من الطبيعي يظهر معك مشكلة عند الاضافة
لاحظ فى الصورة كون جزء العمود الخاص بـ كود بار 
ما هو الا رقم صحيح فقط
ولكن انت تريد عن عمل اضافة جديدة ادخال ارقام واحرف معاً

فلهذا السبب يحدث معك تلك المشكلة
ولحل المشكلة كونك تريد اضافة الكود بهذا الشكل 
عليك تغيير نوع العمود بقاعدة البيانات من رقم الى نص

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: sofiane-phy
#5
بارك الله فيكم جميعا
------------------------
منكم أتعلم
------------------------

الرد }}}
تم الشكر بواسطة: asemshahen5 , elgokr



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم