تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] ازي احفظ قيم فارغة في قاعدة البيانات
#1
السلام عليكم ورحمة الله وبركاته 
فى البرنامج بتاعى عملت استيراد بيانات من اكسيل وشغالة تمام اوي وهى عن طريق اختيار اعمدة الاكسيل من ليست بوكس واضافتها في قاعدة البيانات 
بس طبعا مش شرط المستخدم يحدد كل الاعمدة ممكن يختار جزء فابالتالى الي مش هيختاره هيتحفظ فاضي 
مثلا:



زي الصورة كدة ان مثلا اخترت كل البيانات من شيت الاكسيل بس مش هختار الملاحظات علشان مش عاوزة عاوز بقى لما يستورد البيانات يحفظ الملاحظات بس فاضة 
الكود الي مستخدمة
كود :
for (int i = 0; i < DgvSearch.Rows.Count; i++)
               {
                   if (Con.State == ConnectionState.Closed)
                   {
                       Con.Open();
                   }
                   tbl3 = db3.readData("select max (Sup_ID) from Suppliers", "");
                   Cmd3 = new SqlCommand("insert into Suppliers (Sup_ID,Sup_Name,Compny_Name,Sup_Adderss,Sup_Phone,Notes) Values (@Sup_ID,@Sup_Name,@Compny_Name,@Sup_Adderss,@Sup_Phone,@Notes)", Con);

                   if ((Convert.ToInt32(tbl3.Rows[0][0]) + 1).ToString() == null)
                   {
                       Cmd3.Parameters.Add(new SqlParameter("@Sup_ID", SqlDbType.Int)).Value = DBNull.Value;
                   }
                   else
                   {
                       Cmd3.Parameters.Add(new SqlParameter("@Sup_ID", SqlDbType.Int)).Value = (Convert.ToInt32(tbl3.Rows[0][0]) + 1).ToString();

                   }
                   if (cbx2.SelectedIndex <= -1)
                   {
                       Cmd3.Parameters.Add(new SqlParameter("@Sup_Name", SqlDbType.VarChar)).Value = DBNull.Value ;
                   }
                   else
                   {
                        Cmd3.Parameters.Add(new SqlParameter("@Sup_Name", SqlDbType.VarChar)).Value = DgvSearch.Rows[i].Cells[cbx2.SelectedIndex].Value;
                   }
                   if (cbx3.SelectedIndex <= -1)
                   {
                       Cmd3.Parameters.Add(new SqlParameter("@Compny_Name", SqlDbType.VarChar)).Value = DBNull.Value;
                   }
                   else
                   {
                       Cmd3.Parameters.Add(new SqlParameter("@Compny_Name", SqlDbType.VarChar)).Value = DgvSearch.Rows[i].Cells[cbx3.SelectedIndex].Value;

                   }
                   if (cbx4.SelectedIndex <= -1)
                   {
                       Cmd3.Parameters.Add(new SqlParameter("@Sup_Adderss", SqlDbType.VarChar)).Value = DBNull.Value;
                   }
                   else
                   {
                       Cmd3.Parameters.Add(new SqlParameter("@Sup_Adderss", SqlDbType.VarChar)).Value = DgvSearch.Rows[i].Cells[cbx4.SelectedIndex].Value;

                   }
                   if (cbx5.SelectedIndex <= -1)
                   {
                       Cmd3.Parameters.Add(new SqlParameter("@Sup_Phone", SqlDbType.VarChar)).Value = DBNull.Value;
                   }
                   else
                   {
                       Cmd3.Parameters.Add(new SqlParameter("@Sup_Phone", SqlDbType.VarChar)).Value = DgvSearch.Rows[i].Cells[cbx5.SelectedIndex].Value;

                   }
                   if (cbx6.SelectedIndex <= -1)
                   {
                       Cmd3.Parameters.Add(new SqlParameter("@Notes", SqlDbType.VarChar)).Value = DBNull.Value;
                   }
                   else
                   {
                       Cmd3.Parameters.Add(new SqlParameter("@Notes", SqlDbType.VarChar)).Value = DgvSearch.Rows[i].Cells[cbx6.SelectedIndex].Value;
                   }
                   
                   Cmd3.ExecuteNonQuery();
                   Con.Close();
               }
               XtraMessageBox.Show("تم إستيراد بيانات الموردين بنجاح ", "حفظ", MessageBoxButtons.OK, MessageBoxIcon.Information);
               SelectAll_Table3();
           }
طبعا لما اجي انفذ الكود ده فهو فعلا بيحفظ معايا كله تمام وحتي لو سايب ليست بوكس فاضية فبيحفظ عادي بس للاسف بيجبلى الرسالة دي


وطبعا الحل فى الرسالة دي هو اغير جلمة ال if الي في الكود الي فوق الى الاتى: 
كود :
if (DgvSearch.Rows[i].Cells[cbx5.SelectedIndex].Value == null)
                   {
                       Cmd3.Parameters.Add(new SqlParameter { ParameterName = "@Notes", Value = DBNull.Value });
                   }
                   else
                   {
                       Cmd3.Parameters.Add(new SqlParameter { ParameterName = "@Notes", Value = DgvSearch.Rows[i].Cells[cbx5.SelectedIndex].Value });
                   }

بس للاسف لما اغيرها لكدة مش بيرضي يحفظ قيم فارغة خالص 
وبيجب الرسالة دي 




لو حد عنده حل للمشكلة دي او عنده فكره ياريت يفيدنا وشكرا
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
ازي احفظ قيم فارغة في قاعدة البيانات - بواسطة mazentq - 11-02-22, 07:48 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  هل الكود هذا صحيح خاص بالربط مع قاعدة بيانات SQL server تركي احمد 1 850 25-05-24, 12:50 AM
آخر رد: غزة العزة
  [سؤال] احتاج الى مساعدة فى تعديل مشروع خاص C# وقاعدة البيانات SQL Server كتكوت المصري 1 884 15-08-23, 02:02 AM
آخر رد: WAEL ABED
  [C#.NET] جلب البيانات من اليوزر كنترول Heemo 1 967 02-06-23, 12:57 AM
آخر رد: G20
  انشاء قاعدة بيانات عن طرق الكود amonem 3 1,737 07-10-22, 12:51 PM
آخر رد: asemshahen5
Sad [C#.NET] تطبيق الويندوز لا يستطيع تحديد قاعدة البيانات المثبتة معى التطبيق عند تشغيله على حاسو Kamel Soltani 1 1,118 03-10-22, 04:09 PM
آخر رد: asemshahen5
  [سؤال] حول تكرار البيانات في نفس التاريخ sher 2 1,168 21-06-22, 12:07 PM
آخر رد: sher
  [سؤال] تحديث قاعدة بيانات العملاء kasber 3 1,673 17-02-22, 09:48 PM
آخر رد: محمود بكرى
  [سؤال] طريقة ربط مشروع برابط URL وتحديث البيانات منه talal_ameer 1 1,506 11-02-22, 01:38 AM
آخر رد: عدنان الشمري
  كيف اقوم بربط قاعدة بيانات server sql// SQLite محمدعبدالسلام 3 1,921 25-01-22, 10:54 PM
آخر رد: ابراهيم ايبو
  [C#.NET] كيف اجعل قاعدة البينات في البرنامج يعمل عليها اكثر من مستخدم عبدالرحمن محمدين السيد 1 1,372 10-01-22, 08:58 PM
آخر رد: سعود

التنقل السريع :


يقوم بقرائة الموضوع: