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

نسخة كاملة : مشكله فى البارميترات ارجو المساعده
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم اخوانى الاعزاء
تظر لى مشكله فى بااميتر الكود كما موضح فى الصوره اتمنى ان تساعدونى
[صورة مرفقة: p_1144qlmtt1.jpg]
السّلام عليكم و رحمة الله و بركاته
تمنيت لو كانت الصورة كاملة من جهة اليمين أخي الكريم ..
كبداية حاول .. إضافة عبارات مثلا
[b]Code.Text [/b]
تحياتي
(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("تم جفظ الفاتورة")
السلام عليكم اخي خالد
مشكلتك هي نفسها قم بتحويل الباراميترات التي من نوع 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
وان شاء الله الامور تسير بشكل جيد
استخدم الباراميترز بدون تحديد النوع فقط كالتالي :


كود :
Cmd.Parameters.AddWithValue("@dd_buy", txt_dd.Text)
(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 فقط كما تشاهد
ملحوطه اخى قبل ظهر هذا الخطأ الفاتوره تحفظ فى قاعده بيانات الاكسس عادى ولكن فجاه يظهر هذا الخطا
 السلام عليكم اخي خالد
 اخي لاحظ ان حقل Id كتب بشكل غير مطابق انظر الى الصورة
يجب توحيد اسم الحقل مغ الباراميتر
وعليكم السلام ورحمة الله وبركاته

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

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

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

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

تحياتى لك
وتمنياتى لك التوفيق
(20-02-19, 05:08 PM)elgokr كتب : [ -> ]
وعليكم السلام ورحمة الله وبركاته

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

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

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

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

تحياتى لك
وتمنياتى لك التوفيق
اولا انا كنت منتظر ردك بفارغ الصبر 
ثانيا حدث الخطا الذى بالصورة
[صورة مرفقة: p_1146yps2v1.jpg]
يبدو ان نوع الاعمدة بقاعدة البيانات تختلف عن ما تقوم به فى الكود

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

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

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