我有这段代码应该非常直接。
private void btnSave_Click(object sender, EventArgs e)
{
try
{
using (SqlConnection sqlConn = new SqlConnection(connString))
{
sqlConn.Open();
using (SqlDataAdapter da = new SqlDataAdapter())
{
da.SelectCommand = new SqlCommand("SELECT Id, FirstName, LastName, TcReadOnly FROM PersonTable", sqlConn);
using (SqlCommandBuilder builder = new SqlCommandBuilder(da))
{
DataTable dt = (DataTable)dgvUsers.DataSource;
da.UpdateCommand = builder.GetUpdateCommand();
da.Update(dt);
}
}
}
}
catch (Exception ex)
{
MessageBox.Show("Der er sket en fejl \r\n \r\n" + ex.ToString());
}
}
但是,我在运行代码时收到此错误。
Userform中的第96行
da.Update(dt);
我已经检查过我的SelectCommand在Id中返回一个主要内容,所以这不应该是问题。
答案 0 :(得分:1)
当然,在提出问题后几秒钟我找到了答案。
我用来实际填充DataTable的SelectCommand看起来像这样
da.SelectCommand = new SqlCommand("SELECT Id, FirstName AS Fornavn, LastName AS Efternavn, " +
"TcReadOnly AS 'Read only' FROM PersonTable", sqlConn);
这意味着我的DataTable中的列与我尝试用以下内容更新数据库的列名不同:-) Brainfart ....