منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
مشكله فى البارميترات ارجو المساعده - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : مشكله فى البارميترات ارجو المساعده (/showthread.php?tid=28681)



مشكله فى البارميترات ارجو المساعده - خالد كامل1 - 19-02-19

السلام عليكم اخوانى الاعزاء
تظر لى مشكله فى بااميتر الكود كما موضح فى الصوره اتمنى ان تساعدونى



RE: مشكله فى البارميترات ارجو المساعده - عبد العزيز البسكري - 19-02-19

السّلام عليكم و رحمة الله و بركاته
تمنيت لو كانت الصورة كاملة من جهة اليمين أخي الكريم ..
كبداية حاول .. إضافة عبارات مثلا
[b]Code.Text [/b]
تحياتي



RE: مشكله فى البارميترات ارجو المساعده - خالد كامل1 - 19-02-19

(19-02-19, 04:21 AM)عبد العزيز البسكري كتب :
السّلام عليكم و رحمة الله و بركاته
تمنيت لو كانت الصورة كاملة من جهة اليمين أخي الكريم ..
كبداية حاول .. إضافة عبارات مثلا
[b]Code.Text [/b]
تحياتي

هذا هو الكود اخى الكريم


كود :
 Private Sub btnsave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsave.Click
       cmd = New OleDbCommand("insert into tbl_buy (id, buy_date, user_name, name_import, total_buy, dd_buy, bb_buy) values (@id, @buy_date, @user_name, @name_import, @total_buy, @dd_buy, @bb_buy)", con)
       cmd.Parameters.Add("@id", OleDbType.Integer).Value = txt_no.Text
       cmd.Parameters.Add("@order_date", OleDbType.VarChar).Value = txt_date.Text
       cmd.Parameters.Add("@user_name", OleDbType.VarChar).Value = txt_sales.Text
       cmd.Parameters.Add("@nameimport", OleDbType.VarChar).Value = txt_name_import.Text
       cmd.Parameters.Add("@total_buy", OleDbType.Currency).Value = txt_total.Text
       cmd.Parameters.Add("@dd_buy", OleDbType.Currency).Value = txt_dd.Text
       cmd.Parameters.Add("@bb_buy", OleDbType.Currency).Value = txt_bb.Text
       con.Open()

       cmd.ExecuteNonQuery()
       Dim code, nam As String
       Dim price, tot, qty As Double
       For i As Integer = 0 To dgvbuy.Rows.Count - 1
           code = dgvbuy.Rows(i).Cells(0).Value
           nam = dgvbuy.Rows(i).Cells(1).Value
           price = dgvbuy.Rows(i).Cells(2).Value
           qty = dgvbuy.Rows(i).Cells(3).Value
           tot = dgvbuy.Rows(i).Cells(4).Value

           cmd = New OleDbCommand("insert into tbl_buy_d(id_buy, code, item_name, price, qty, tot) values (@id_buy, @code, @item_name, @price, @qty, @tot)", con)
           cmd.Parameters.Add("@id", OleDbType.Integer).Value = txt_no.Text
           cmd.Parameters.Add("@code", OleDbType.VarChar).Value = code
           cmd.Parameters.Add("@item_name", OleDbType.VarChar).Value = nam
           cmd.Parameters.Add("@price", OleDbType.Double).Value = price
           cmd.Parameters.Add("@qty", OleDbType.Decimal).Value = qty
           cmd.Parameters.Add("@tot", OleDbType.Currency).Value = tot
           cmd.ExecuteNonQuery()
       Next
       con.Close()
       txt_no.Text = max_order() + (1)
       MsgBox("تم جفظ الفاتورة")



RE: مشكله فى البارميترات ارجو المساعده - ابراهيم ايبو - 19-02-19

السلام عليكم اخي خالد
مشكلتك هي نفسها قم بتحويل الباراميترات التي من نوع double و Currency و decimal  
 الى Numeric او Varwchar
مثلا هذا السطر 
كود :
cmd.Parameters.Add("@dd_buy", OleDbType.Currency).Value = txt_dd.Text
اكتبه هكذا
كود :
cmd.Parameters.Add("@dd_buy", OleDbType.Numeric).Value = txt_dd.Text
وان شاء الله الامور تسير بشكل جيد


RE: مشكله فى البارميترات ارجو المساعده - حريف برمجة - 19-02-19

استخدم الباراميترز بدون تحديد النوع فقط كالتالي :


كود :
Cmd.Parameters.AddWithValue("@dd_buy", txt_dd.Text)



RE: مشكله فى البارميترات ارجو المساعده - خالد كامل1 - 19-02-19

(19-02-19, 11:06 AM)ابراهيم ايبو كتب : السلام عليكم اخي خالد
مشكلتك هي نفسها قم بتحويل الباراميترات التي من نوع double و Currency و decimal  
 الى Numeric او Varwchar
مثلا هذا السطر 
كود :
cmd.Parameters.Add("@dd_buy", OleDbType.Currency).Value = txt_dd.Text
اكتبه هكذا
كود :
cmd.Parameters.Add("@dd_buy", OleDbType.Numeric).Value = txt_dd.Text
وان شاء الله الامور تسير بشكل جيد
اخى لو تشاهد المشكله فى حقل @code فقط كما تشاهد
ملحوطه اخى قبل ظهر هذا الخطأ الفاتوره تحفظ فى قاعده بيانات الاكسس عادى ولكن فجاه يظهر هذا الخطا


RE: مشكله فى البارميترات ارجو المساعده - ابراهيم ايبو - 19-02-19

 السلام عليكم اخي خالد
 اخي لاحظ ان حقل Id كتب بشكل غير مطابق انظر الى الصورة
يجب توحيد اسم الحقل مغ الباراميتر



RE: مشكله فى البارميترات ارجو المساعده - elgokr - 20-02-19

وعليكم السلام ورحمة الله وبركاته

لحل المشكلة الحالية لديك طبقاً للصورة الاولى فى بداية الموضوع
كل ما عليك عمل التالى فى هذا السطر
كود :
cmd.Parameters.Add("@code", OleDbType.VarChar).Value = code

كل ما عليك ان تجعله هكذا
كود :
cmd.Parameters.Add("@code", OleDbType.VarChar).Value = code.ToString()

او بهذا الطريقة
كود :
مرفق الكود

واتمنى مراجعة باقى ردود الشباب لحل المشكلة الاخري كما هو موجود بالرد الاخير

تحياتى لك
وتمنياتى لك التوفيق



RE: مشكله فى البارميترات ارجو المساعده - خالد كامل1 - 21-02-19

(20-02-19, 05:08 PM)elgokr كتب :
وعليكم السلام ورحمة الله وبركاته

لحل المشكلة الحالية لديك طبقاً للصورة الاولى فى بداية الموضوع
كل ما عليك عمل التالى فى هذا السطر
كود :
cmd.Parameters.Add("@code", OleDbType.VarChar).Value = code

كل ما عليك ان تجعله هكذا
كود :
cmd.Parameters.Add("@code", OleDbType.VarChar).Value = code.ToString()

او بهذا الطريقة
كود :
مرفق الكود

واتمنى مراجعة باقى ردود الشباب لحل المشكلة الاخري كما هو موجود بالرد الاخير

تحياتى لك
وتمنياتى لك التوفيق
اولا انا كنت منتظر ردك بفارغ الصبر 
ثانيا حدث الخطا الذى بالصورة



RE: مشكله فى البارميترات ارجو المساعده - elgokr - 21-02-19

يبدو ان نوع الاعمدة بقاعدة البيانات تختلف عن ما تقوم به فى الكود

فاتح قاعدة البيانات وتعال على الجدل الخاص بالكود فى الصورة واعرضه كا تصميم
وقم بعمل صورة للشاشة خاصة تصميم الجدول وارفقها هنا حتى يتم توضيح نوع كل عمود بالجدول
وافادتك بالطريقة الصحيحة للاستخدام اذا كان نص او رقم وما شبه

وكذلك قم باخدث صورة لشاشة الفورم عند التشغيل
لرؤية محتوى الداتا جريد من بيانات لكل عمود به

تحياتى لك
وتمنياتى لك التوفيق