17-06-19, 02:59 PM
السلام عليكم عندي مشكلة عند الحفظ ، كل شيئ عادي بالنسبة للتعديل لكن عند الاضافة ثم الحفظ يظهر الخطأ
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
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
------------------------
منكم أتعلم
------------------------