هناك خطأ فى هذا الكود - خالد كامل1 - 28-10-18
اخوانى الاحبه السلام عليكم
اقوم بتصميم مشروع بالفيجوال بيزك نت 2010 وsqlserver 2008 r
وحدث معى هذا وحاولت جاهدا ان ابحث عن الخطأ فى الكود ولكنى لم اصل لنتيجه فاتمنى ان تساعدونى فى البحق عن الخطا وحله وشكرا جزيلا
وهذه صوره لحقل قاعدة البانات
كود :
Private Sub importid_DropDown1(ByVal sender As Object, ByVal e As System.EventArgs) Handles importid.DropDown
fillcmb_importers(importid)
importid.SelectedIndex = -1
End Sub
Public Sub Insert_products(ByVal productid As Int32, ByVal productbarcode As String, ByVal productname As String, ByVal catid As Int32, ByVal unitid As Int32, ByVal qty As Double, ByVal priceg As Double, ByVal priceb As Double, ByVal importid As Int32)
Dim Cmd As New SqlCommand
With Cmd
.Connection = con
.CommandType = CommandType.Text
.CommandText = "Insert Into products ( productid,productbarcode,productname,catid,unitid,qty,briceg,briceb,importid)values(@productid,@productbarcode,@productname,@catid,@unitid,@qty,@priceg,@priceb,@importid)"
.Parameters.Clear()
.Parameters.AddWithValue("@productid", SqlDbType.Int).Value = productid
.Parameters.AddWithValue("@productbarcode", SqlDbType.VarChar).Value = productbarcode
.Parameters.AddWithValue("@productname", SqlDbType.VarChar).Value = productname
.Parameters.AddWithValue("@catid", SqlDbType.Int).Value = catid
.Parameters.AddWithValue("@unitid", SqlDbType.Int).Value = unitid
.Parameters.AddWithValue("@qty", SqlDbType.Decimal).Value = qty
.Parameters.AddWithValue("@priceg", SqlDbType.Decimal).Value = priceg
.Parameters.AddWithValue("@priceb", SqlDbType.Decimal).Value = priceb
.Parameters.AddWithValue("@importid", SqlDbType.Int).Value = importid
End With
If con.State = 1 Then con.Close()
con.Open()
Cmd.ExecuteNonQuery()
con.Close()
MsgBox("تم إضافة السجل بنجاح", MsgBoxStyle.Information, "حفظ")
Cmd = Nothing
End Sub
Private Sub save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles save.Click
Dim dt1 As New DataTable
Dim cmd As New SqlCommand("select * FROM PRODUCTS WHERE PRODUCTBARCODE = '" + barcode.Text + "'", con)
con.Open()
Dim da1 As New SqlDataAdapter(cmd)
da1.Fill(dt1)
If dt1.Rows.Count > 0 Then
Dim A As Integer = Val(qty.Text)
Dim CmdUpdate As New SqlCommand
With CmdUpdate
.Connection = con
.CommandType = CommandType.Text
.CommandText = "UPDATE PRODUCTS SET QTY = QTY + " & A & " WHERE PRODUCtRBARCODE = '" & barcode.Text & "'"
End With
Try
If con.State = 1 Then con.Close()
con.Open()
CmdUpdate.ExecuteNonQuery()
con.Close()
MsgBox("اسم المادة موجود مسبقا تمت عمليه تحديث الكميه بنجاح", MsgBoxStyle.Information, "تحديث كمية الماده")
CmdUpdate = Nothing
ClearControls()
proid.Text = getmaxid("Products", "ProductID")
store.SelectAll_products(store.dgv4)
Catch ex As Exception
con.Close()
MsgBox(Err.Description, MsgBoxStyle.Information)
Finally
If con.State = ConnectionState.Open Then con.Close()
End Try
Else
Insert_products(proid.Text, barcode.Text, proname.Text, catid.SelectedValue, unitid.SelectedValue, qty.Text, priceg.Text, priceb.Text, importid.SelectedValue)
End If
ClearControls()
proid.Text = getmaxid("PRODUCTS", "productid")
End Sub
Private Sub exite_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles exite.Click
Me.Show()
End Sub
وهذه صورة الخطأ الذى يظهر
RE: هناك خطأ فى هذا الكود - elgokr - 28-10-18
المشكلة لديك ليس من جانب الكود
المشكلة فى القيمة المرسلة لاتمام اضافتها بقاعدة البيانات
حيث ان النوع معرف String وهو بحاجة لان تجعل قيمتها Double
المشكلة هتكون فى الاجزاء التى تخص الارقام و والمبالغ
راجع القيمة المدخلة وسيتم حل المشكلة
تحياتى لك
وتمنياتى لك التوفيق
RE: هناك خطأ فى هذا الكود - خالد كامل1 - 29-10-18
الف شكر اخى الجوكر ولكم ظهر لى خطا اخر موضح فى الصوؤة
RE: هناك خطأ فى هذا الكود - mero5000 - 29-10-18
جرب SelectedValue.Tostring()
للقيمة العشرية او الرقمية
RE: هناك خطأ فى هذا الكود - elgokr - 29-10-18
(29-10-18, 03:20 AM)خالد كامل1 كتب : الف شكر اخى الجوكر ولكم ظهر لى خطا اخر موضح فى الصوؤة
الشكر لله والحمد لله
والحمد لله على كل حال
بخصوص الصورة بالاعلى فهنا يوجد حقل من نوع رقم ولكن لا يحتوى على قيمة او يبدو انها قيمة نصية فارغة
مثل
انت جعلتها
الفكرة من الوصف هو توضيح كمثال ما يعنيه الخطاء
وحيث ان ii من نوع رقم
حيث ان الحقل اجبارى وليس اختيارى لتكون بها قيمة فعلية
فيجب مراجعة القيمة لما يخص ذلك واعتقد ان الامر سيكون فى الترقيم للعمود ( productid )
حتى تتثنى توضح لنا الصورة بدلاً مو وضع صورة لرسالة الخطاء
ارفق صورة لكل من :
1- صورة الشاشة وهى تحتوى على البيانات ( القيمة )
2- صورة لرسالة الخطاء
حتى توضح الصورة كاملاً لكل قيمة تتم تعبئتها فى شاشة البرنامج قبل تنفيذ الامر وظهور الرسالة
تحياتى لك
وتمنياتى لك التوفيق
|