منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : Data type mismatch in criteria expression.
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
لو سمحتم انا عملت جملة insert into
وطلعتلي الرسالة دي
Data type mismatch in criteria expression
الكود
Dim cmd As New OleDbCommand("Insert Into Sales(sCode,sCustomer,sDile,sCash,sPostpone,sVisa,Bar,Items,iNum,sTG,sDis,sTS,sUser)values(@sCode,@sCustomer,@sDile,@sCash,@sPostpone,@sVisa,@Bar,@Items,@iNum,@sTG,@sDis,@sTS,@sUser)", connAccess2010)
        cmd.Parameters.Add("@sCode", OleDbType.Numeric).Value = Val(TextBox2.Text.Trim)
        cmd.Parameters.Add("@sCustomer", OleDbType.VarChar).Value = (Cn.Text)
        cmd.Parameters.Add("@sDile", OleDbType.VarChar).Value = (CheckBox5.Checked)
        cmd.Parameters.Add("@sCash", OleDbType.VarChar).Value = (CheckBox2.Checked)
        cmd.Parameters.Add("@sPostpone", OleDbType.VarChar).Value = (CheckBox1.Checked)
        cmd.Parameters.Add("@sVisa", OleDbType.VarChar).Value = (CheckBox3.Checked)
        cmd.Parameters.Add("@Bar", OleDbType.VarChar).Value = (TextBox9.Text)
        cmd.Parameters.Add("@Items", OleDbType.VarChar).Value = (TextBox3.Text)
        cmd.Parameters.Add("@iNum", OleDbType.Numeric).Value = Val(TextBox5.Text)
        cmd.Parameters.Add("@sTG", OleDbType.Numeric).Value = Val(TextBox4.Text)
        cmd.Parameters.Add("@sDis", OleDbType.Numeric).Value = Val(TextBox7.Text)
        cmd.Parameters.Add("@sTS", OleDbType.Numeric).Value = Val(TextBox8.Text)
        cmd.Parameters.Add("@sUser", OleDbType.Numeric).Value = Val(TextBox1.Text)
        connAccess2010.Open()
        cmd.ExecuteNonQuery()
        connAccess2010.Close()
معنى الرسالة عدم توافق بين انواع البيانات المرسلة من التطبيق و ادواته والوجهة.
كمثال:
كود :
cmd.Parameters.Add("@sVisa", OleDbType.VarChar).Value = (CheckBox3.Checked)
نوع بيانات العمود varchar وبالواجهة نوع (نعم/لا)  او (صح/خطا)

ما رايك باستخدام DataTable للاضافة والتعديل و الحذف والبحث؟
انظر للمرفقين.
أحد المثالين فيه انشاء ملف القاعدة وجدولها واعمدتها.
و الاخر مثال عادي وكلهن استخدام DataTable.




المثال الثاني اضفت له الان checkbox
انا بشكر حضرتك جدا جدا جزاك الله كل خير
مرحبا اخى

جرب هذا الاسلوب
PHP كود :
Dim cmd As New OleDbCommand(
 
   "Insert Into Sales(sCode,sCustomer,sDile,sCash,sPostpone,sVisa,Bar,Items,iNum,sTG,sDis,sTS,sUser) " 
    
"values(@sCode,@sCustomer,@sDile,@sCash,@sPostpone,@sVisa,@Bar,@Items,@iNum,@sTG,@sDis,@sTS,@sUser)"connAccess2010)
cmd.Parameters.AddWithValue("@sCode"Val(TextBox2.Text.Trim))
cmd.Parameters.AddWithValue("@sCustomer"Cn.Text)
cmd.Parameters.AddWithValue("@sDile"CheckBox5.Checked)
cmd.Parameters.AddWithValue("@sCash"CheckBox2.Checked)
cmd.Parameters.AddWithValue("@sPostpone"CheckBox1.Checked)
cmd.Parameters.AddWithValue("@sVisa"CheckBox3.Checked)
cmd.Parameters.AddWithValue("@Bar"TextBox9.Text)
cmd.Parameters.AddWithValue("@Items"TextBox3.Text)
cmd.Parameters.AddWithValue("@iNum"Val(TextBox5.Text))
cmd.Parameters.AddWithValue("@sTG"Val(TextBox4.Text))
cmd.Parameters.AddWithValue("@sDis"Val(TextBox7.Text))
cmd.Parameters.AddWithValue("@sTS"Val(TextBox8.Text))
cmd.Parameters.AddWithValue("@sUser"Val(TextBox1.Text))
If 
connAccess2010.State<>ConnectionState.Open Then connAccess2010.Open()
cmd.ExecuteNonQuery()
connAccess2010.Close() 
الشكر لله أولا ثم الشكر لكم جميعا Smile