![](/img/trans.png)
[英]Invalid enumeration value and SqlDataAdapter.Update(DataTable)
[英]SqlDataAdapter.Update(DataTable) gives InvalidOperationException
我有這段代碼,應該很簡單。
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());
}
}
但是,我在運行代碼時收到此錯誤。
用戶表單中的第96行
da.Update(dt);
我已經檢查過我的SelectCommand是否在ID中返回主鍵,所以這不應該是問題。
當然,在問了問題幾秒鍾后,我就找到了答案。
我用來實際填充DataTable的SelectCommand看起來像這樣
da.SelectCommand = new SqlCommand("SELECT Id, FirstName AS Fornavn, LastName AS Efternavn, " +
"TcReadOnly AS 'Read only' FROM PersonTable", sqlConn);
這意味着我的DataTable中的列的名稱與我嘗試使用:-) Brainfart更新數據庫的名稱不同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.