27-07-19, 01:08 PM
السلام عليكم الاخوة الاعزاء انا كملت كلشي تمام وعماليات الضرب كلها صحيحة والاستعلام وكل شي تمام لكن عند الضغط على عملية اضافة المنتجات بتطلع عندي هذه رسالة الخطا
اولا الكود المستخدم
رسالة الخطا التي تظهر هي كالاتي
علما انا فاتح الاتصال الريدير وغالقه ايضا لكن لا اعرف ايش هي المشكلة اخوتي اتمنى من الي عندة خبرة يساعدنا وفقكم الله
اولا الكود المستخدم
كود :
Dim strinsert As String = "Insert Into invoice (SALECODE,type_inv , cu_id , phon_cus , loc_cus , user_post , discount , totle_c , total_price , date_sel)values( @SALECODE, @type_inv , @cu_id , @phon_cus , @loc_cus , @user_post , @discount , @totle_c , @total_price , @date_sel)"
cmd = New MySqlCommand(strinsert, con)
Dim ID_order As Integer
Dim dd, ddd As Decimal
cmd.Parameters.Add(New MySqlParameter("@SALECODE", MySqlDbType.Int32)).Value = ID_order
cmd.Parameters.Add(New MySqlParameter("@type_inv", MySqlDbType.VarChar, 200)).Value = com_type.Text
cmd.Parameters.Add(New MySqlParameter("@cu_id", MySqlDbType.VarChar, 200)).Value = text_cus.Text
cmd.Parameters.Add(New MySqlParameter("@phon_cus", MySqlDbType.VarChar, 200)).Value = text_ph_cus.Text
cmd.Parameters.Add(New MySqlParameter("@loc_cus", MySqlDbType.VarChar, 200)).Value = text_loc_cus.Text
cmd.Parameters.Add(New MySqlParameter("@user_post", MySqlDbType.VarChar, 200)).Value = txt_user.Text
cmd.Parameters.Add(New MySqlParameter("@discount", MySqlDbType.VarChar, 200)).Value = txt_dic.Text
cmd.Parameters.Add(New MySqlParameter("@totle_c", MySqlDbType.Double)).Value = ddd
cmd.Parameters.Add(New MySqlParameter("@total_price", MySqlDbType.Decimal)).Value = dd
cmd.Parameters.Add(New MySqlParameter("@date_sel", MySqlDbType.Date)).Value = date_pay.Value.Date
con.Open()
cmd.ExecuteNonQuery()
cmd = New MySqlCommand("select max(id) from invoice", con)
Dim dr As MySqlDataReader = cmd.ExecuteReader
dr.Read()
Dim id_orders As Integer = dr(0)
Dim id_pro As Integer
Dim code_itt, code_colorr, txt_name_it As String
Dim price_one_it, totle_price2 As Decimal
Dim num_itt, num_crt As Integer
strinsert = "insert into invoice_dt (SALECODE,code_it,code_color,name_it,num_cr,qty,price_tak,total)values(@SALECODE,@code_it,@code_color,@name_it,@num_cr,@qty,@price_tak,@total)"
For i As Integer = 0 To DataGridView1.RowCount - 1
id_pro = DataGridView1.Rows(i).Cells(0).Value
code_itt = DataGridView1.Rows(i).Cells(1).Value
code_colorr = DataGridView1.Rows(i).Cells(2).Value
txt_name_it = DataGridView1.Rows(i).Cells(3).Value
num_itt = DataGridView1.Rows(i).Cells(4).Value
num_crt = DataGridView1.Rows(i).Cells(5).Value
price_one_it = DataGridView1.Rows(i).Cells(6).Value
totle_price2 = DataGridView1.Rows(i).Cells(7).Value
cmd.Parameters.Add(New MySqlParameter("@SALECODE", MySqlDbType.Int32)).Value = id_pro
cmd.Parameters.Add(New MySqlParameter("@code_it", MySqlDbType.VarChar, 200)).Value = code_itt
cmd.Parameters.Add(New MySqlParameter("@code_color", MySqlDbType.VarChar, 200)).Value = code_colorr
cmd.Parameters.Add(New MySqlParameter("@name_it", MySqlDbType.VarChar, 200)).Value = txt_name_it
cmd.Parameters.Add(New MySqlParameter("@num_cr", MySqlDbType.Float)).Value = num_crt
cmd.Parameters.Add(New MySqlParameter("@qty", MySqlDbType.Float)).Value = num_itt
cmd.Parameters.Add(New MySqlParameter("@price_tak", MySqlDbType.Decimal)).Value = price_one_it
cmd.Parameters.Add(New MySqlParameter("@total", MySqlDbType.Decimal)).Value = totle_price2
cmd.ExecuteNonQuery()
Next
dr.Close()
con.Open()
MsgBox("تم اضافة الفاتورة بنجاح", MsgBoxStyle.Information, "نجاح العملية")رسالة الخطا التي تظهر هي كالاتي
كود :
Additional information: There is already an open DataReader associated with this Connection which must be closed first.علما انا فاتح الاتصال الريدير وغالقه ايضا لكن لا اعرف ايش هي المشكلة اخوتي اتمنى من الي عندة خبرة يساعدنا وفقكم الله
(( لا أحد يمكن له ان يحدد متى يموت ولكن هو من يقدر ان يحدد كيف يعيش بعد الموت فالحياة والمماة بيد الله لكن حياتك بعد الموت بيدك فلا تندم على شيء فاتك في الدنيا لربما يرزقك الله خير منه في الاخرة او لربما دفع الله عنك به شيأ اعظم ... تلك هي مشيئة الله عز وجل ))

