صفر نشان دادن مقادیر تهی در datagridview با بانک اطلاعاتی sqlite
سلام
من یه بانک اطلاعاتی اس کیو لایت دارم
یه برنامه نوشتم که اطلاعات را از این بانک میخونه و در دیتاگریدویو نمایش میدهد
همه چیز خوب و عالی هست اما مشکل اینجاست که در دریتاگرید ویو رکود هایی که در بانک خالی هست را بجاش صفر میزاره . یعنی در دیتا گرید ویو سلول خالی را صفر قرار میده. کسی میدونه مشکل چی هست و یا از کجا هست.
این هم کدی هست که نوشتم
DataTable dt = new DataTable();
SQLiteConnection con = new SQLiteConnection("Data Source=amar.db;version=3");
SQLiteDataAdapter objectadapter = new SQLiteDataAdapter("select * from amarshamsi",con);
objectadapter.Fill(dt);
dataGridView1.DataSource=dt;
نقل قول: مشکل در دیتا گرید ویو با بانک اطلاعاتی sqlite
نقل قول:
نوشته شده توسط
mr.siahatgar
سلام
من یه بانک اطلاعاتی اس کیو لایت دارم
یه برنامه نوشتم که اطلاعات را از این بانک میخونه و در دیتاگریدویو نمایش میدهد
همه چیز خوب و عالی هست اما مشکل اینجاست که در دریتاگرید ویو رکود هایی که در بانک خالی هست را بجاش صفر میزاره . یعنی در دیتا گرید ویو سلول خالی را صفر قرار میده. کسی میدونه مشکل چی هست و یا از کجا هست.
این هم کدی هست که نوشتم
DataTable dt = new DataTable();
SQLiteConnection con = new SQLiteConnection("Data Source=amar.db;version=3");
SQLiteDataAdapter objectadapter = new SQLiteDataAdapter("select * from amarshamsi",con);
objectadapter.Fill(dt);
dataGridView1.DataSource=dt;
دیتا گرید به هر حال تمام رکورد هایی که در دیتا سورس وجود داره نمایش میده! که منطق درستی هم هست، بنابراین تو کوئری که دارید اجرا میکنید رکوردهای خالی را واکشی نکنید! چه لزومی داره که رکورد خالی واکشی کنید
نقل قول: مشکل در دیتا گرید ویو با بانک اطلاعاتی sqlite
سلام دوست گرامی
شاید من سوالم بد نوشتم ببینید مثلا فرض کنید دمای شهر تهران در مدت یک ماه در جدول ثبت شده باشد . حالا ممکن است در یک روز دما اندازه گیری نشده باشد که بالطبع در ان روز دما خالی نشان میدهد در بانک اس کیو لایت . حالا من وقتی گزارشگیری میکنم و در دیتا گرییدویو نمایش میدهم دمای یک ماه شهر را ، متاسفانه هر جا که خالی هست به من صفر نمایش میدهد که معنی اش این هست که دما صفر است . در حالی که اصلا ان روز دما اندازگیری نشده است و اگر کسی نداند فکر میکند اندازه گیری شده و دما برابر با صفر است
نقل قول: مشکل در دیتا گرید ویو با بانک اطلاعاتی sqlite
حتما نوع فیلد مورد نظر عدد هست که اگر خالی وارد شود بصورت پیش فرض صفر نمایش داده میشه
میتونید یک case بنویسید که اگر صفر بود متن مورد نظر شما نوشته شود
https://www.w3schools.com/sql/sql_case.asp
نقل قول: مشکل در دیتا گرید ویو با بانک اطلاعاتی sqlite
نقل قول:
نوشته شده توسط
Shadow_net
نه در خود بانک اس کیو لایت جای خالی هست و عددی ننوشته . فقط در دیتاگریید ویو صفر نشان میدهد
نقل قول: مشکل در دیتا گرید ویو با بانک اطلاعاتی sqlite
مشکلی نیست با case مشکل حل میشه نهایتش با null بررسیش میکنید
نقل قول: مشکل در دیتا گرید ویو با بانک اطلاعاتی sqlite
ممنون دوست گرامی
من با کد زیر مشکل جدول ا فعلا حل کردم یعنی با دستور اپدیت یه بار فیلد هایی که برابر با تهی بود را برابر با null قرار دادم و در دیتا گرید ویو درست شد
string sql = "UPDATE amarshamsi SET dry = @dry where dry = @2dry ";
SQLiteCommand cmd = new SQLiteCommand(sql, con);
cmd.Parameters.AddWithValue("@dry", null);
cmd.Parameters.AddWithValue("@2dry", "");