问题描述
大家好,
我想知道如何将数据从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更新到数据库?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!