الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف اتخلص من الفاصله عند الاستعلام من الداتابيز

بدأه عبد الله ساعاتي في 25 أغسطس 2010 · 8 رد · 727 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

366833742.jpg

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

وكل عام وانتم بخير

احبابي بس حبيت استفسر كيف ممكن اتخلص من الاصفار الزائده كما تلاحظو في الصوره

اريد عند ما استعلم يأتي فقط بالرقم وبعض الارقام تكون مثلاً 4.5 اريد ان يأتي بها كما هيا طبعاً شكل الارقام في الداتا بيز كما بالصوره

انا استخدم هذا الكود عند جلب القيم

label_itmPrice1.Text = dt.Rows[0]["uPrice1"].ToString();

ولكم جزيل الشكر ،،،

تم تعديل هذه المشاركة بواسطة GamingMasteR في 1 سبتمبر 2010 في 06:09 — السبب: [code][/code]

#2

أخى عبد الله

السلام عليكم

ان كان مافهمته صحيح فهذا الكود سوف ينفعك ان شاء الله

string index = dt.Rows[0]["uPrice1"].ToString().IndexOf('.').ToString();

        label_itmPrice1.Text = ((index == -1) ? String.Format("{0:0}", int.Parse(dt.Rows[0]["uPrice1"].ToString())) : String.Format("{0:0.0}", double.Parse(dt.Rows[0]["uPrice1"].ToString())));

السطر الأول يبحث عن مكان الفاصلة فى الرقم

السطر الثانى

لو الناتج (-1) يعنى الرقم صحيح (مفيش فاصلة) هيعمل فورمات للرقم بشكل العدد الصحيح

لو غير كده يعنى فيه فاصلة فهيعمل فورمات على شكل 1.4 ولك الحريه فى تحديد عدد الرقام بعد الفاصلة العشرية

أتمنى ان تكون وصلت ا لفكرة ويكون هذا قصدك

تقبل مرورى

أقلب الغريب كقلب أخيك ؟! أعيناه تشبه عينا أخيك ؟؟!! fb.pngtwitter.png

#3

عزيز اخي ابو الجود جزاك الله خير

حلك كما اريده ولكن في الكود الذي وضعته الـ index نوعها string وانا عملتها كونفيرت الى انتجر لان تقبل المساواه مع -1

ولكن في كل مره يذهب الى الشطر الثاني {0:0.0}

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

تم تعديل هذه المشاركة بواسطة عبد الله ساعاتي في 26 أغسطس 2010 في 16:51

#4

السلام عليكم جرب هذا الكود وإن شاء الله سوف يعطيك النتيجه التى تريدها

label_itmPrice1.Text =Convert.ToDouble(dt.Rows[0]["uPrice1"]).ToString();

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

label_itmPrice1.Text =Convert.ToDecimal(dt.Rows[0]["uPrice1"]).ToString("#.##")

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

تم تعديل هذه المشاركة بواسطة GamingMasteR في 1 سبتمبر 2010 في 06:34 — السبب: [code][/code]

#5

انت لو الداتابيز SQL ممكن تعملها كالاتى :

فى جملة ال select بدل السعر اضف 'السعر' convert(decimal(10,1),price) as

حيث ال 10 حسب ال precision اللى انت عايزها

#6
exlereo كتب:

انت لو الداتابيز SQL ممكن تعملها كالاتى :

فى جملة ال select بدل السعر اضف 'السعر' convert(decimal(10,1),price) as

حيث ال 10 حسب ال precision اللى انت عايزها

اخي اشكرك على التفاعل وهذي جملة الـ select

string sql = "SELECT itmUnits.uPrice1 ,itmUnits.uItmID , ItemsTb.itmADescr,ItemsTb.itmInitCost,ItemsTb.itmDfPerc FROM itmUnits INNER JOIN ItemsTb ON itmUnits.uItmID =ItemsTb.itmID WHERE itmUnits.uBarCode='" + textBox_BarCode.Text + "'";

أين اضعها .؟

تم تعديل هذه المشاركة بواسطة GamingMasteR في 2 سبتمبر 2010 في 19:28 — السبب: [code][/code]

#7
string sql = "SELECT convert(decimal(10,1),itmUnits.uPrice1)  ,itmUnits.uItmID , ItemsTb.itmADescr,ItemsTb.itmInitCost,ItemsTb.itmDfPerc FROM itmUnits INNER JOIN ItemsTb ON itmUnits.uItmID =ItemsTb.itmID WHERE itmUnits.uBarCode='" + textBox_BarCode.Text + "'";

تم تعديل هذه المشاركة بواسطة GamingMasteR في 3 سبتمبر 2010 في 02:26 — السبب: [code][/code]

#8
exlereo كتب:

string sql = "SELECT convert(decimal(10,1),itmUnits.uPrice1)  ,itmUnits.uItmID , ItemsTb.itmADescr,ItemsTb.itmInitCost,ItemsTb.itmDfPerc FROM itmUnits INNER JOIN ItemsTb ON itmUnits.uItmID =ItemsTb.itmID WHERE itmUnits.uBarCode='" + textBox_BarCode.Text + "'";

بيطلع الخطأ التالي اثناء عمل البرنامج

لا ينتمي العمود 'uPrice1' إلى الجدول Table.

ألا يوجد حل من نفس ادوات فيجوال استديو لاني اريد تطبيقه على الداتا جريد والتكست بوكس وفي اماكن عده

مع العمل ان الداتا بيز نفسها تستخدم من قبل برنامج اخر معمول VB6 وشغال تمام من غير الاصفار بعد الفاصله

تم تعديل هذه المشاركة بواسطة عبد الله ساعاتي في 4 سبتمبر 2010 في 23:16

#9

الخطأ الذى ظهر لك هو خطأ فى جملة ال SQL الى انت كتبتها انا كل اللى عملته هو أنى ضفت convert الى ال price فهذا الخطأ من الجملة اللى انت كتبتها

وهذا الحل هو أفضل وأسهل حل لأنك انت حولت الداتا الاساسية بعدين سواء عايز تعرضها فى textbox or datagrid لن تضطر الى تحويلها مرة أخرى

ولو عايز حل أخر :

String.Format("{0:00.0}",object);

حيث ال object ممكن يقبل int or decimal or string

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…