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

مشكلة في تحديث DataGridView

بدأه كارم سامي في 26 فبراير 2014 · 11 رد · 540 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

 

لدي DataGridView متصلة هي ومجموعة من textbox بقاعدة بيانات اكسس عن طريق binding ..

 

المشكلة انني عند استخدام select لاظهار البيانات بها عن طريق الكود التالي لا تظهر البيانات مع اول ريكورد يتم تسجيله ولكن تظهر مع تاني ريكورد يتم تسجيله

 

فما الحل ؟

 employeesDataGridView.Refresh();
           

            
            string JSS_connetionString011 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|/je_salestoredb.mdb;Persist Security Info=True;Jet OLEDB:Database Password=JE2014";
            string JSS_sql011 = "select * from employees";
            OleDbConnection JSS_connection011 = new OleDbConnection(JSS_connetionString011);
            OleDbDataAdapter JSS_dataadapter011 = new OleDbDataAdapter(JSS_sql011, JSS_connection011);
            DataSet JSS_ds011 = new DataSet();
            JSS_ds011.Clear();         
                 JSS_connection011.Open();
                 JSS_dataadapter011.Fill(JSS_ds011, "employees");
                 JSS_connection011.Close();
                 employeesDataGridView.DataSource = JSS_ds011;
                 employeesDataGridView.DataMember = "employees";
#2

الا يوجد حل ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

#3

جرب هذا الكود

 string JSS_connetionString011 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|/je_salestoredb.mdb;Persist Security Info=True;Jet OLEDB:Database Password=JE2014";
            string JSS_sql011 = "select * from employees";
            OleDbConnection JSS_connection011 = new OleDbConnection(JSS_connetionString011);
            OleDbDataAdapter JSS_dataadapter011 = new OleDbDataAdapter(JSS_sql011, JSS_connection011);
            DataSet JSS_ds011 = new DataSet();
                JSS_dataadapter011.Fill(JSS_ds011, "employees");
                 employeesDataGridView.DataSource = JSS_ds011.Tables["employees"];
#4
KARIMSOFT كتب:

 

جرب هذا الكود

 string JSS_connetionString011 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|/je_salestoredb.mdb;Persist Security Info=True;Jet OLEDB:Database Password=JE2014";
            string JSS_sql011 = "select * from employees";
            OleDbConnection JSS_connection011 = new OleDbConnection(JSS_connetionString011);
            OleDbDataAdapter JSS_dataadapter011 = new OleDbDataAdapter(JSS_sql011, JSS_connection011);
            DataSet JSS_ds011 = new DataSet();
                JSS_dataadapter011.Fill(JSS_ds011, "employees");
                 employeesDataGridView.DataSource = JSS_ds011.Tables["employees"];

 

للأسف نفس المشكلة لا يقوم بعرض القيمة الجديدة الا بعد تسجيل قيمة اخري يعني يعرض الادحال القبل الاخير

#5

متى يتم تنفيذ الكود .... ؟

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#6

يتم تنفيذ الكود مباشرة بعد تنفيذ كود اضافة في نفس حدث  private void button3_Click(object sender, EventArgs e)

#7

ضع الكود كاملا حيث ان الكود الموجود لا مشكلة به ويفترض انه يقوم بجلب وعرض جميع البيانات من الجدول.....

تم تعديل هذه المشاركة بواسطة SOLO.NET في 1 مارس 2014 في 03:54

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#8

الكود كامل

 //insert data
            // ... last barcode
            string JSS_connetionString001 = null;
            OleDbConnection JSS_cnn001;
            OleDbCommand JSS_cmd001;
            string JSS_sql001 = null;
            OleDbDataReader JSS_reader001;
            JSS_connetionString001 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|/je_salestoredb.mdb;Persist Security Info=True;Jet OLEDB:Database Password=JE2014";
            JSS_sql001 = "select * from employees where employee_ID=(select max(employee_ID) from employees)";
            JSS_cnn001 = new OleDbConnection(JSS_connetionString001);
            try
            {
                JSS_cnn001.Open();
                JSS_cmd001 = new OleDbCommand(JSS_sql001, JSS_cnn001);
                JSS_reader001 = JSS_cmd001.ExecuteReader();
                while (JSS_reader001.Read())
                {

                    label01.Text = (JSS_reader001.GetValue(0) + "");
                }
                JSS_reader001.Close();
                JSS_cmd001.Dispose();
                JSS_cnn001.Close();

            }
            catch (Exception ex)
            {
                
                return;
            }

           

            // check if ID is Null

            if (label01.Text == "")
            {
                label01.Text = "0000001";
            }
            else
            {
                double JSS_prductG_ID = System.Convert.ToDouble(label01.Text) + 0000001;
                label01.Text = JSS_prductG_ID.ToString("0000000");
            }

            //insert code
            string JSS_connetionString002 = null;
            OleDbConnection JSS_connection002;
            OleDbDataAdapter JSS_oledbAdapter002 = new OleDbDataAdapter();
            string JSS_sql002 = null;
            JSS_connetionString002 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|/je_salestoredb.mdb;Persist Security Info=True;Jet OLEDB:Database Password=JE2014";
            JSS_connection002 = new OleDbConnection(JSS_connetionString002);
            JSS_sql002 = "insert into employees(employee_ID,employee_CODE,employee_NAME,employee_NATIONAL_CODE,employee_CITY,employee_STATE,employee_VILLAGE,employee_TEL1,employee_TEL2,employee_EMAIL,employee_SALARY,employee_WORK,employee_SYSTEM_Authority,employee_PASS,employee_JOIN_DATE,employee_EDIT_DATE,employee_USER) values('" + label01.Text + "','" + textbox02.Text + "','" + textbox03.Text + "','" + textbox04.Text + "','" + textbox05.Text + "','" + textbox06.Text + "','" + textbox07.Text + "','" + textbox08.Text + "','" + textbox09.Text + "','" + textbox10.Text + "','" + textbox11.Text + "','" + textbox12.Text + "','" + label13.Text + "','" + textbox14.Text + "','" + textbox15.Text + "','" + textbox16.Text + "','" + label17.Text + "')";
            try
            {

                JSS_connection002.Open();
                JSS_oledbAdapter002.InsertCommand = new OleDbCommand(JSS_sql002, JSS_connection002);
                JSS_oledbAdapter002.InsertCommand.ExecuteNonQuery();

            }
            catch (Exception ex)
            {
            
                return;
            }

            //Refresh

            employeesDataGridView.Refresh();
           

            
            string JSS_connetionString011 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|/je_salestoredb.mdb;Persist Security Info=True;Jet OLEDB:Database Password=JE2014";
            string JSS_sql011 = "select * from employees";
            OleDbConnection JSS_connection011 = new OleDbConnection(JSS_connetionString011);
            OleDbDataAdapter JSS_dataadapter011 = new OleDbDataAdapter(JSS_sql011, JSS_connection011);
            DataSet JSS_ds011 = new DataSet();
            JSS_ds011.Clear();
            try
           {
                 
                 JSS_connection011.Open();
                 JSS_dataadapter011.Fill(JSS_ds011, "employees");
                 JSS_connection011.Close();
                 employeesDataGridView.DataSource = JSS_ds011;
                 employeesDataGridView.DataMember = "employees";
               
            }
            catch (Exception ex)
            {
                 return;
            }
            
            employeesDataGridView.Refresh();
#9

السلام عليكم

 

هناك عدة ملاحظات على الكود....

لكن اهمها هو 

 catch (Exception ex)
            {
                 return;
            }

استبدالها بمسج بوكس لعرض المشاكل اذا حدثت.....فربما هناك Exception يحدث ولن تعرفه

 

على اى حال الكود لايبدو انه به مشكل لا ادرى ما السبب فى عدم عرض جميع البيانات عند الاضافة

ولكن بما انك تستخدم databinding control  لما لا تستخدما لجلب جميع البيانات لل datagridview

اعتقد سيكون اسمها المولد كالتالى

 this.employeesTableAdapter.Fill(this.je_salestoredb.employees);

ضع الكود مباشرة بعد الاضافة واحذف باقى الكود

//insert data
            // ... last barcode
            string JSS_connetionString001 = null;
            OleDbConnection JSS_cnn001;
            OleDbCommand JSS_cmd001;
            string JSS_sql001 = null;
            OleDbDataReader JSS_reader001;
            JSS_connetionString001 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|/je_salestoredb.mdb;Persist Security Info=True;Jet OLEDB:Database Password=JE2014";
            JSS_sql001 = "select * from employees where employee_ID=(select max(employee_ID) from employees)";
            JSS_cnn001 = new OleDbConnection(JSS_connetionString001);
            try
            {
                JSS_cnn001.Open();
                JSS_cmd001 = new OleDbCommand(JSS_sql001, JSS_cnn001);
                JSS_reader001 = JSS_cmd001.ExecuteReader();
                while (JSS_reader001.Read())
                {

                    label01.Text = (JSS_reader001.GetValue(0) + "");
                }
                JSS_reader001.Close();
                JSS_cmd001.Dispose();
                JSS_cnn001.Close();

            }
            catch (Exception ex)
            {
                
                return;
            }

           

            // check if ID is Null

            if (label01.Text == "")
            {
                label01.Text = "0000001";
            }
            else
            {
                double JSS_prductG_ID = System.Convert.ToDouble(label01.Text) + 0000001;
                label01.Text = JSS_prductG_ID.ToString("0000000");
            }

            //insert code
            string JSS_connetionString002 = null;
            OleDbConnection JSS_connection002;
            OleDbDataAdapter JSS_oledbAdapter002 = new OleDbDataAdapter();
            string JSS_sql002 = null;
            JSS_connetionString002 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|/je_salestoredb.mdb;Persist Security Info=True;Jet OLEDB:Database Password=JE2014";
            JSS_connection002 = new OleDbConnection(JSS_connetionString002);
            JSS_sql002 = "insert into employees(employee_ID,employee_CODE,employee_NAME,employee_NATIONAL_CODE,employee_CITY,employee_STATE,employee_VILLAGE,employee_TEL1,employee_TEL2,employee_EMAIL,employee_SALARY,employee_WORK,employee_SYSTEM_Authority,employee_PASS,employee_JOIN_DATE,employee_EDIT_DATE,employee_USER) values('" + label01.Text + "','" + textbox02.Text + "','" + textbox03.Text + "','" + textbox04.Text + "','" + textbox05.Text + "','" + textbox06.Text + "','" + textbox07.Text + "','" + textbox08.Text + "','" + textbox09.Text + "','" + textbox10.Text + "','" + textbox11.Text + "','" + textbox12.Text + "','" + label13.Text + "','" + textbox14.Text + "','" + textbox15.Text + "','" + textbox16.Text + "','" + label17.Text + "')";
            try
            {

                JSS_connection002.Open();
                JSS_oledbAdapter002.InsertCommand = new OleDbCommand(JSS_sql002, JSS_connection002);
                JSS_oledbAdapter002.InsertCommand.ExecuteNonQuery();

            }
            catch (Exception ex)
            {
            
                return;
            }

            //Refresh
  this.employeesTableAdapter.Fill(this.je_salestoredb.employees);
            employeesDataGridView.Refresh();

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#10

اقرأ هذه المقال ستفيدك...

/index.php/topic/282900-%D9%87%D8%A7%D9%85-%D9%81%D9%8A-%D8%AA%D8%B5%D9%85%D9%8A%D9%85-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#11

نفس المشكلة بفارق ان القيم بدأت تنزل في بداية الداتا جريد فيو وليس في نهايتها

#12

ارفق مثال ليتم التعديل عليه

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

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