18-01-18, 01:05 PM
استعملت هذا الكود وهو يعمل جيدا ولكن المشكلة في حالة وجود قيمة فارغه في احد الخلايا يتوقف البرنامج ولا يكمل
Con.Close()
DataGridView1.AllowUserToAddRows = False
Dim cmd As New SqlCommand
Dim sql As String
For i As Integer = 0 To (DataGridView1.Rows.Count - 1)
sql = "Insert Into storedetail (num , datea , mowared , itemnum , q1 , q2 , price , currencey , currenceyrate , stornum)values( @num , @datea , @mowared , @itemnum , @q1 , @q2 , @price , @currencey , @currenceyrate , @stornum)"
cmd = New SqlCommand(sql, Con)
With cmd
.Connection = Con
.CommandType = CommandType.Text
.CommandText = "Insert Into storedetail (num , datea , mowared , itemnum , q1 , q2,q3,q4 , price , currencey , currenceyrate , stornum,active,acountnum,type,mostand)values( @num , @datea , @mowared , @itemnum , @q1 , @q2 ,@q3,@q4, @price , @currencey , @currenceyrate , @stornum,@active,@acountnum ,@type,@mostand)"
Con.Open()
.Parameters.Clear()
.Parameters.AddWithValue("@num", SqlDbType.Int).Value = Val(TextBox1.Text)
.Parameters.AddWithValue("@datea", SqlDbType.Date).Value = Dtpdate.Value
.Parameters.AddWithValue("@mowared", SqlDbType.Int).Value = Val(TextBox2.Text)
.Parameters.AddWithValue("@itemnum", SqlDbType.Int).Value = DataGridView1(0, i).Value.ToString
.Parameters.AddWithValue("@q1", SqlDbType.Decimal).Value = Val(DataGridView1(2, i).Value)
.Parameters.AddWithValue("@q3", SqlDbType.Decimal).Value = Val(DataGridView1(2, i).Value.ToString)
.Parameters.AddWithValue("@q2", SqlDbType.Decimal).Value = Val(DataGridView1(3, i).Value.ToString)
.Parameters.AddWithValue("@q4", SqlDbType.Decimal).Value = Val(DataGridView1(3, i).Value.ToString)
.Parameters.AddWithValue("@price", SqlDbType.Decimal).Value = DataGridView1(6, i).Value.ToString
.Parameters.AddWithValue("@currencey", SqlDbType.Int).Value = Val(TextBox9.Text)
.Parameters.AddWithValue("@currenceyrate", SqlDbType.Decimal).Value = Val(TextBox10.Text)
.Parameters.AddWithValue("@stornum", SqlDbType.Int).Value = DataGridView1(4, i).Value.ToString
.Parameters.AddWithValue("@detail", SqlDbType.Int).Value = "حركة مخازن رقم" & "-" & TextBox1.Text & Label8.Text
.Parameters.AddWithValue("@active", SqlDbType.Int).Value = "1" 'فعال
.Parameters.AddWithValue("@acountnum", SqlDbType.Int).Value = Val(TextBox2.Text)
.Parameters.AddWithValue("@type", SqlDbType.Int).Value = (TextBox4.Text)
.Parameters.AddWithValue("@mostand", SqlDbType.Int).Value = (TextBox5.Text)
End With
cmd.ExecuteNonQuery()
Con.Close()
Next
MsgBox("ok")
' Catch ex As Exception
' End Try
ارجو المساعده
Con.Close()
DataGridView1.AllowUserToAddRows = False
Dim cmd As New SqlCommand
Dim sql As String
For i As Integer = 0 To (DataGridView1.Rows.Count - 1)
sql = "Insert Into storedetail (num , datea , mowared , itemnum , q1 , q2 , price , currencey , currenceyrate , stornum)values( @num , @datea , @mowared , @itemnum , @q1 , @q2 , @price , @currencey , @currenceyrate , @stornum)"
cmd = New SqlCommand(sql, Con)
With cmd
.Connection = Con
.CommandType = CommandType.Text
.CommandText = "Insert Into storedetail (num , datea , mowared , itemnum , q1 , q2,q3,q4 , price , currencey , currenceyrate , stornum,active,acountnum,type,mostand)values( @num , @datea , @mowared , @itemnum , @q1 , @q2 ,@q3,@q4, @price , @currencey , @currenceyrate , @stornum,@active,@acountnum ,@type,@mostand)"
Con.Open()
.Parameters.Clear()
.Parameters.AddWithValue("@num", SqlDbType.Int).Value = Val(TextBox1.Text)
.Parameters.AddWithValue("@datea", SqlDbType.Date).Value = Dtpdate.Value
.Parameters.AddWithValue("@mowared", SqlDbType.Int).Value = Val(TextBox2.Text)
.Parameters.AddWithValue("@itemnum", SqlDbType.Int).Value = DataGridView1(0, i).Value.ToString
.Parameters.AddWithValue("@q1", SqlDbType.Decimal).Value = Val(DataGridView1(2, i).Value)
.Parameters.AddWithValue("@q3", SqlDbType.Decimal).Value = Val(DataGridView1(2, i).Value.ToString)
.Parameters.AddWithValue("@q2", SqlDbType.Decimal).Value = Val(DataGridView1(3, i).Value.ToString)
.Parameters.AddWithValue("@q4", SqlDbType.Decimal).Value = Val(DataGridView1(3, i).Value.ToString)
.Parameters.AddWithValue("@price", SqlDbType.Decimal).Value = DataGridView1(6, i).Value.ToString
.Parameters.AddWithValue("@currencey", SqlDbType.Int).Value = Val(TextBox9.Text)
.Parameters.AddWithValue("@currenceyrate", SqlDbType.Decimal).Value = Val(TextBox10.Text)
.Parameters.AddWithValue("@stornum", SqlDbType.Int).Value = DataGridView1(4, i).Value.ToString
.Parameters.AddWithValue("@detail", SqlDbType.Int).Value = "حركة مخازن رقم" & "-" & TextBox1.Text & Label8.Text
.Parameters.AddWithValue("@active", SqlDbType.Int).Value = "1" 'فعال
.Parameters.AddWithValue("@acountnum", SqlDbType.Int).Value = Val(TextBox2.Text)
.Parameters.AddWithValue("@type", SqlDbType.Int).Value = (TextBox4.Text)
.Parameters.AddWithValue("@mostand", SqlDbType.Int).Value = (TextBox5.Text)
End With
cmd.ExecuteNonQuery()
Con.Close()
Next
MsgBox("ok")
' Catch ex As Exception
' End Try
ارجو المساعده