PDA

View Full Version : مشکل در ذخیره و بازیابی عدد و علامت در دیتابیس sql



mahtab.kamali
سه شنبه 01 مرداد 1392, 22:42 عصر
سلام
دوستان خسته نباشید اگه ممکنه یه راهنمایی کنین
من محتوای یه تکست باکس رو که به عنوان مثال به این شکل است 33,560در sql ذخیره می کنم البته کاما به عنوان ممیز نیست وتنها به عنوان علامت ازش استفاده می کنم
در ذخیره مشکلی نیست ذخیره و بازیابی می شه

مشکل اینجاست که وقتی می خواهیم به int کانورت کنیم اون علامت وسطی شناسایی نمی شه

اگه ممکنه یه آرایه یا متدی می خوام تا اعداد و علامت همونطوری که در دیتابیس ذخیره شده هنگام تبدیل به int بازیابی بشه

ممنون می شم اگه راهنمایی کنین

Mahmoud.Afrad
سه شنبه 01 مرداد 1392, 23:13 عصر
علامت جداکننده رو که نباید ذخیره کنید.

mahtab.kamali
سه شنبه 01 مرداد 1392, 23:21 عصر
علامت جداکننده رو که نباید ذخیره کنید.
ممنون از توجه و پاسختون آقا محمود
ببینین اتفاقاقبلا همین کار رو انجام دادم ولی این زمانی هست که تعداد اعداد سمت راست و سمت چپ علامت ثابت باشه وبا یه آرایه بعد از بازیابی علامت رو اضافه کنیم

اما در این مورد بخصوص تعداد اعداد این ور و اون ور علامت ثابت نیست ممکنه یک عدد تک رقمی باشه یا دو رقمی یا سه رقمی
برا همین بود که مجبور شدم علامت رو هم ذخیره کنم

Mahmoud.Afrad
سه شنبه 01 مرداد 1392, 23:37 عصر
ممنون از توجه و پاسختون آقا محمود
ببینین اتفاقاقبلا همین کار رو انجام دادم ولی این زمانی هست که تعداد اعداد سمت راست و سمت چپ علامت ثابت باشه وبا یه آرایه بعد از بازیابی علامت رو اضافه کنیم

اما در این مورد بخصوص تعداد اعداد این ور و اون ور علامت ثابت نیست ممکنه یک عدد تک رقمی باشه یا دو رقمی یا سه رقمی
برا همین بود که مجبور شدم علامت رو هم ذخیره کنم
بدون علامت ذخیره کن.
برای اضافه کردن علامت نیاز به آرایه و این حرفا نیست:

int a = 1234567;
textBox1.Text = a.ToString("N0");

mahtab.kamali
سه شنبه 01 مرداد 1392, 23:45 عصر
بدون علامت ذخیره کن.
برای اضافه کردن علامت نیاز به آرایه و این حرفا نیست:

int a = 1234567;
textBox1.Text = a.ToString("N0");

ممنونم
این کدی که شما دادین یک عدد رو سه رقم سه رقم جدا می کنه
اما کاری که من می خوام انجام بدم این نیست
من این اعداد رو می خوام بعدا درتعیین point کنترلهای داخل فرم استفاده کنم اینه که اعداد سمت چپ وراست علامت متغییر هستند
قبلا هم توضیح دادم ممکنه عدد یک رقمی باشه یا دو رقمی یا هردوشون دو رقمی

Mahmoud.Afrad
چهارشنبه 02 مرداد 1392, 04:30 صبح
میتونی بعد از دریافت از دیتا بیس split کنی.
یا اینکه در دیتابیس دو تا ستون بگیری یکی برای x یکی برای y.

shadi khanum
چهارشنبه 02 مرداد 1392, 08:07 صبح
وقتی میخوای از Sql بخونی (چون میگی اینا point هستند) اول String ور با Split دو تیکه کن بعد هر تیکه رو تبدیل به int کن

mahtab.kamali
چهارشنبه 02 مرداد 1392, 08:29 صبح
وقتی میخوای از Sql بخونی (چون میگی اینا point هستند) اول String ور با Split دو تیکه کن بعد هر تیکه رو تبدیل به int کن
اتفاقا درد ما هم همینه :گریه::ناراحت:

اگه می تونستم همین کاری رو که شما می گین پیاده سازی کنم که تاپیک ایجاد نمی کردم

veniz2008
چهارشنبه 02 مرداد 1392, 12:03 عصر
اتفاقا درد ما هم همینه :گریه::ناراحت:

اگه می تونستم همین کاری رو که شما می گین پیاده سازی کنم که تاپیک ایجاد نمی کردم
سلام.
اگر مشکلتون با split کردن رشته هست، بصورت زیر استفاده کنید. اینطوری اگر point در هر نقطه ای باشه، قسمت قبل و بعد از point جدا میشه و میتونید اونو بصورت عدد بدون point در اختیار داشته باشید. حتی اگر بیش از یک point هم داشته باشید باز هم براحتی میتونید این کار رو انجام بدید.

string[] records = MyString.Split(',');
MessageBox.Show(records[0] + records[1]);
موفق باشید.

atryad
چهارشنبه 02 مرداد 1392, 13:06 عصر
دوست عزیز لازم نیست علامتها رو ذخیره کنی بلکه علامتها رو موقع نمایش به کاربر اضافه میکتی
یه الگوریتم جداسازی بر اساس الگوی خودت بنویس و اعدادتو برای نمایش به کاربر از این فیلتر رد کن