В C# datagridview у меня возникает проблема. При обновлении записи не обновляются. Ниже моего кода
private void button1_Click(object sender, EventArgs e) { con.Open(); SqlDataAdapter sda = new SqlDataAdapter("UPDATE [dbo].[companyDB] SET[compname] = '" + bxcpname.Text + "' WHERE compcode='" + recbox.Text + "'", con); sda.SelectCommand.ExecuteNonQuery(); MessageBox.Show("Record Updated"); con.Close(); dataload(); }
public void dataload() { con.Open(); SqlDataAdapter sda = new SqlDataAdapter("SELECT [compcode],[compname] FROM[dbo].[companyDB]", con); DataTable dt = new DataTable(); sda.Fill(dt); foreach (DataRow item in dt.Rows) { int n = dataGridView1.Rows.Add(); dataGridView1.Rows[n].Cells[0].Value = item["compcode"].ToString(); dataGridView1.Rows[n].Cells[1].Value = item["compname"].ToString(); } con.Close();
Что я уже пробовал:
Я написал одну функцию для loaddata agian. он работает в сложении. Обновление только проблема.
RickZeeland
Если вы уверены, что данные будут извлечены, вы можете установить точку останова и проверить переменные с помощью мыши.
Кроме того, вы можете протестировать команду sql в среде SQL Server Management Studio.
Member 13037527
Я проверил, поместив точку останова в update. управление будет обновляться (функция dataload), но не работает, почему так? та же функция, которую я вызвал после добавления, и она работает
RickZeeland
Я заметил, что между SET[compname] нет пробела, может быть, вы можете попробовать это.
Я бы также посоветовал попробовать команду update вручную из SQL Server Management Studio, Если есть какие-либо ошибки, например, с ограничениями, они будут отображаться.
Member 13037527
Я пытался но то же самое