如何将数据从datagridview更新到数据库? [英] How to update data from datagridview to database?

查看:92
本文介绍了如何将数据从datagridview更新到数据库?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,



我想知道如何将数据从datagridview更新到数据库。我有两个datagridview和两个按钮。在表单加载时,Datagridview1将显示来自tblAssessment的所有记录。然后,如果用户点击按钮1,它将根据他们的结果选择前2名学生。然后它将传递给Datagridview2。用户将数据从datagridview2保存到数据库。但是我在更新数据库时遇到了问题。如何解决这个问题?下面是我的代码:





Hi Guys,

I would like to know on how to update data from the datagridview to database. I have two datagridview and two buttons. At form load, Datagridview1 will display all the records from tblAssessment. Then if the user clicked button 1, it will select the top 2 students based from their results. It will then be passed to Datagridview2. the user will saved the data from the datagridview2 to the database. But I got problem in updating the database. How to fix this? Below is my code:


void fillGrid() // loads data from the database to datagridview1
      {
          p_table = new DataTable();
          p_table.Clear();

          m_da = new SqlDataAdapter("Select AssessmentNumber,StudentFirstName,StudentMiddleName,StudentLastName,SchoolYear,GradeLevel,Result from tblSectioning Where GradeLevel='" + label2.Text + "' AND SectionName='" + "Null" + "'", conn);
          m_da.Fill(p_table);
          dataGridView1.DataSource = p_table;
      }


      void sumofall() //sum of all enrolled students
      {

          string query = "SELECT COUNT (*) FROM tblAssessment where GradeLevel ='" + label2.Text +  "'";
          SqlDataAdapter dAdapter = new SqlDataAdapter(query, conn);
          DataTable source = new DataTable();
          dAdapter.Fill(source);
          label7.Text = source.Rows[0][0].ToString();
          loginpage1 frr = new loginpage1();
          frr.numberofstudents = label7.Text;


      }


      private void button1_Click(object sender, EventArgs e) //gets the top 2 in the datagridview1
      {


          for (int i = 0; i <= 4; i++)
          {
              p_table1 = new DataTable();
              p_table1.Clear();
              m_da1 = new SqlDataAdapter("Select Top 2 AssessmentNumber,StudentFirstName,StudentMiddleName,StudentLastName,GradeLevel,Result FROM tblSectioning Where GradeLevel='" + label2.Text + "' ORDER BY Result Desc", conn);

              m_da1.Fill(p_table1);
              dataGridView2.DataSource = p_table1;
          }


      }
      private void button2_Click(object sender, EventArgs e) //updating of data from datagridview 2 to database
      {


              conn = new SqlConnection(connec.GetServer());
              conn.Open();
              cmd = new SqlCommand("update  tblStudentInformation set SectionName='" + textBox1.Text + "', ShiftSched='" + comboBox1.SelectedItem + "' Where  GradeLevel='" + label2.Text + "'", conn);
              m_dr = cmd.ExecuteReader();
              conn.Close();
              m_dr.Close();


              conn = new SqlConnection(connec.GetServer());
              conn.Open();
              cmd1 = new SqlCommand("update  tblClass set SectionName='" + textBox1.Text + "', ShiftSched='" + comboBox1.SelectedItem + "' Where  GradeLevel='" + label2.Text + "'", conn);
              m_dr1 = cmd1.ExecuteReader();
              conn.Close();
              m_dr1.Close();
              MessageBox.Show("Record Updated");

              dataGridView2.ClearSelection();
              fillGrid();


      }

推荐答案

你需要
command.ExecuteNonQuery();

而不是

cmd1.ExecuteReader();


这篇关于如何将数据从datagridview更新到数据库?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆