10-07-17, 02:51 PM
كود :
Private Sub btnsave_Click(sender As Object, e As EventArgs) Handles btnsave.Click
Dim cmd As New OleDbCommand(String.Empty, con)
Dim ss As String
con.Open()
For Each r As DataGridViewRow In dgvprodac.Rows
Dim ad As Integer = Val(r.Cells(0).Value)
Dim txt As Integer = Val(r.Cells(2).Value)
cmd.CommandText = String.Format(" UPDATE [tab_pro] SET [qty] = qty -{0} WHERE [id] = {1} ", txt, ad)
cmd.ExecuteNonQuery()
Next
Try
ss = "INSERT INTO [tabolder] ([prosh], [sailman],[shirid]) VALUES (@date, @sailman, @ID)"
Dim md As New OleDbCommand(ss, con)
md.Parameters.AddWithValue("@date", dtolder.Value.Date)
md.Parameters.AddWithValue("@sailman", TXTGNAME.Text)
md.Parameters.AddWithValue("@ID", txtnamper.Text)
'con.Open()
md.ExecuteNonQuery()
md.CommandText = "SELECT @@IDENTITY"
md = New OleDb.OleDbCommand("select max(shirid) from tabolder", con)
Dim dm As OleDb.OleDbDataReader = md.ExecuteReader
dm.Read()
Dim id_shirid As Integer = dm(0)
dm.Close()
Dim id_pro, qty As Integer
Dim price, amount As Single
'المشكله هنا
ss = "insert into [prosh_older] ([itemid], [qtnitem], [unititem], [totitem], [idpro]) values (@itemid, @qtnitem, @unititem, @totitem, @idpro)"
md = New OleDb.OleDbCommand(ss, con)
For u As Integer = 0 To dgvprodac.RowCount - 2
id_pro = dgvprodac.Rows(u).Cells(0).Value
qty = dgvprodac.Rows(u).Cells(2).Value
price = dgvprodac.Rows(u).Cells(3).Value
amount = dgvprodac.Rows(u).Cells(4).Value
md.Parameters.Add(New OleDb.OleDbParameter("@itemid", OleDb.OleDbType.Integer)).Value = id_pro
md.Parameters.Add(New OleDb.OleDbParameter("@qtnitem", OleDb.OleDbType.Integer)).Value = qty
md.Parameters.Add(New OleDb.OleDbParameter("@unititem", OleDb.OleDbType.Currency)).Value = price
md.Parameters.Add(New OleDb.OleDbParameter("@totitem", OleDb.OleDbType.Currency)).Value = amount
md.Parameters.Add(New OleDb.OleDbParameter("@idpro", OleDb.OleDbType.Integer)).Value = id_shirid
md.ExecuteNonQuery()
Next
Catch ex As Exception
End Try
sqlstr = "select max (shirid) +1 from [tabolder] "
cmd = New OleDbCommand(sqlstr, con)
txtnamper.Text = cmd.ExecuteScalar()
con.Close()
MsgBox("تم حفظ الفاتوره")
dt.Rows.Clear()
txttotal.Clear()
Label15.Text = "..."
End Subكود :
ss = "insert into [prosh_older] ([itemid], [qtnitem], [unititem], [totitem], [idpro]) values (@itemid, @qtnitem, @unititem, @totitem, @idpro)"
md = New OleDb.OleDbCommand(ss, con)
For u As Integer = 0 To dgvprodac.RowCount - 2
id_pro = dgvprodac.Rows(u).Cells(0).Value
qty = dgvprodac.Rows(u).Cells(2).Value
price = dgvprodac.Rows(u).Cells(3).Value
amount = dgvprodac.Rows(u).Cells(4).Value
md.Parameters.Add(New OleDb.OleDbParameter("@itemid", OleDb.OleDbType.Integer)).Value = id_pro
md.Parameters.Add(New OleDb.OleDbParameter("@qtnitem", OleDb.OleDbType.Integer)).Value = qty
md.Parameters.Add(New OleDb.OleDbParameter("@unititem", OleDb.OleDbType.Currency)).Value = price
md.Parameters.Add(New OleDb.OleDbParameter("@totitem", OleDb.OleDbType.Currency)).Value = amount
md.Parameters.Add(New OleDb.OleDbParameter("@idpro", OleDb.OleDbType.Integer)).Value = id_shirid
md.ExecuteNonQuery()المشكله فى انه بيدخل اول صنف اتباع وبيكرره فى بقيت الاصناف المباعه ملحق صوره توضح