PDA

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



eletcomp
پنج شنبه 01 خرداد 1393, 19:59 عصر
با سلام بر عزیزان
من میخواستم یک داده اعشاری در دیتابیس ذخیره کنم ولی زمان دخیره شدن در دیتاگرید ویو مقدار صفر را نشان می دهد!!!! نوع داده را double تعیین کردم توی سی شارپ و توی دیتابیس float ولی نمی دانم چرا ذخیره نمی شود!!
لطفا راهنمایی کنید!!

fhttp://www.uplooder.net/img/image/95/f356a32d59a4231ebe3fd36c72598fce/db3.JPG

aghayex
پنج شنبه 01 خرداد 1393, 22:34 عصر
یه چیزی این وسط هست که مقدار رو به عدد صحیح تبدیل می کنه

eletcomp
پنج شنبه 01 خرداد 1393, 22:39 عصر
ممنون دوست عزیز: باید چه کار کنم!!! البته نوع داده را به decimal تغییر دادم!!! ولی باز هم درست نشد!!



SqlCommand cmd = new SqlCommand("insert into Tblsood(month,amount,profit,day,total)values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "', '"
+ (Decimal.Parse(textBox2.Text)) * (Decimal.Parse(textBox3.Text)) * (Decimal.Parse(textBox4.Text)) / 365 + "') ", cn);
cmd.ExecuteNonQuery();



سپاس

sinaprog
پنج شنبه 01 خرداد 1393, 23:47 عصر
سلام اکه تو دیتابیست تریگری یا ... تعریف نکردی و محاسبات طرف برنامه کاربردیه نوغ داده رو nvarchar بزار

aghayex
جمعه 02 خرداد 1393, 08:40 صبح
سعی کنید کوئری هاتون رو به این صورت سمت sql بفرستید . تا از بروز خطاهای احتمالی جلوگیری کنید .


string sqlIns = "INSERT INTO Tblsood(month,amount,profit,day,total) VALUES (@month, @amount, @profit, @day, @total)";
db.Open();
try
{
SqlCommand cmdIns = new SqlCommand(sqlIns, db.Connection);
cmdIns.Parameters.Add("@month", textBox1.Text);
cmdIns.Parameters.Add("@amount", textBox2.Text);
cmdIns.Parameters.Add("@profit", textBox3.Text);
cmdIns.Parameters.Add("@day", textBox4.Text);
cmdIns.Parameters.Add("@total", (Decimal.Parse(textBox2.Text)) * (Decimal.Parse(textBox3.Text)) * (Decimal.Parse(textBox4.Text)) / 365 ));
cmdIns.ExecuteNonQuery();
cmdIns.Parameters.Clear();

eletcomp
جمعه 02 خرداد 1393, 11:36 صبح
سلام اکه تو دیتابیست تریگری یا ... تعریف نکردی و محاسبات طرف برنامه کاربردیه نوغ داده رو nvarchar بزار

ممنون: ولی من میخوام روی اعداد محاسبات اعمال بشود!! مگه نوع nvarchar از کارکتر نیست!!!!


سعی کنید کوئری هاتون رو به این صورت سمت sql بفرستید . تا از بروز خطاهای احتمالی جلوگیری کنید .

متشکر: ولی چه فرقی داره مگه!! روشی که من استفاده کردم!! از نظر کد نویسی حجم اش کمتر هست و پیچیدگی روش مورد نظر شما را نداره!!:لبخند:
ولی در کل جواب سئوال ام را نگرفتم ها!!!!! درست نشد !!!!

aghayex
جمعه 02 خرداد 1393, 11:48 صبح
ولی چه فرقی داره مگه!! روشی که من استفاده کردم!! از نظر کد نویسی حجم اش کمتر هست و پیچیدگی روش مورد نظر شما را نداره!!
روش شما درست کار می کنه اما اصولی نیست . به طور مثال اگه کاربر بیاد یه کاراکتر رو که شما هم پیش بینیش نمی کردی رو در یکی از تکس باکس ها وارد کنه و از اون طرف هم اس کیو ال به اون کاراکتر حساس باشه برنامت متوقف میشه اما با روش من این اتفاق نمی یوفته.

ولی در کل جواب سئوال ام را نگرفتم ها!!!!! درست نشد !!!!
احتمالا یه مشکل دیگه دارید . نمونه برنامه بزارید