السادة الزملاء
السلام عليكم ورحمة الله وبركاتة
أحاول حفظ البيانات من خلال DataGridview ولكن هناك خطأ ولا أعرف مصدرة علي الرغم انني اختبرت الــ stored procedure وهو يعمل بشكل سليم لكن عندما أقوم بتطبيق الكود من خلال الاداة تظهر هذه المشكلة
مرفق كود الحفظ الخاص بالاجراء المخزن
ALTER Proc [dbo].[SaveDataDetail] ( @ID int ,@DEInc int ,@Locations nvarchar (15) ,@Description nvarchar (35) ,@Per nvarchar (10) ,@Qty float = null ,@Rate float = null ,@Currency nvarchar (5) ,@Total float = null ,@Note nvarchar (50) ) AS If not exists (Select * from Tbl_Transactions Where DEInc =@DEInc) begin insert into Tbl_Transactions(DEInc,Locations,Description,Per ,Qty,Rate,Currency,Total,Note) Values (@DEInc,@Locations,@Description,@Per,isnull(@Qty,0),isnull(@Rate,0),@Currency,isnull(@Total,0),@Note) end else update Tbl_Transactions SET DEInc=@DEInc,Locations=@Locations,Description=@Description,Per=@Per,Qty=@Qty,Rate=@Rate,Currency=@Currency, Total=@Total,Note=@Note where ID=@ID
كود الحفظ الخاص بالشاشة
SQLCon.Open()
Dim i As Integer
For i = 0 To DgvMain.Rows.Count - 2
Dim row As DataGridViewRow = DgvMain.Rows(i)
Dim Locations As DataGridViewTextBoxCell = row.Cells(0)
Dim Description As DataGridViewTextBoxCell = row.Cells(1)
Dim Per As DataGridViewComboBoxColumn = DirectCast(DgvMain.Columns(2), DataGridViewComboBoxColumn)
Dim Qty As DataGridViewTextBoxCell = row.Cells(3)
Dim Rate As DataGridViewTextBoxCell = row.Cells(4)
Dim Currency As DataGridViewComboBoxColumn = DirectCast(DgvMain.Columns(5), DataGridViewComboBoxColumn)
Dim Total As DataGridViewTextBoxCell = row.Cells(6)
Dim Note As DataGridViewTextBoxCell = row.Cells(7)
Dim ID As DataGridViewTextBoxCell = row.Cells(8)
Dim DEInc As DataGridViewTextBoxCell = row.Cells(9)
Dim insercommand As New SqlCommand("SaveDataDetail", SQLCon)
insercommand.CommandType = CommandType.StoredProcedure
insercommand.Connection = SQLCon
insercommand.ExecuteNonQuery()
Next
MsgBox("Data Saved")
SQLCon.Close()الخطأ الذي يظهر وقت الحفظ


