我正试图从C#项目数据网格视图更新SQL表"工作表";。然而,当我尝试进行更新时,我得到了这个错误
"更新找不到TableMapping["Work_Table"]或DataTable"Work_Table'";
有什么想法吗?
下面是我的代码:
try
{
using (SqlConnection conn = new SqlConnection(connString))
{
string query = @"Select * from person.addresstype";
SqlCommand cmd = new SqlCommand(query, conn);
SqlDataAdapter dAdapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
dAdapter.Update(ds, "Work_Table");
MessageBox.Show("Saved");
}
}
catch (Exception ee)
{
MessageBox.Show(ee.Message);
您需要从网格的.DataSource
属性中检索DataTable
。这将包含有关添加、更新和删除内容的信息。
您可以跳过该命令,将选择字符串和连接字符串直接传递给DataAdapter
构造函数。
创建一个CommandBuilder
,为DataAdapter.Update
提供插入、更新和删除文本。将DataAdapter
传递给CommandBuilder
的构造函数。
private string connString = "Your connection string";
private void button1_Click(object sender, EventArgs e)
{
DataTable dt = (DataTable)dataGridView1.DataSource;
try
{
using (SqlDataAdapter dAdapter = new SqlDataAdapter("Select * from person.addresstype", connString))
using (SqlCommandBuilder cb = new SqlCommandBuilder(dAdapter))
{
dAdapter.Update(dt);
}
MessageBox.Show("Saved");
}
catch (Exception ee)
{
MessageBox.Show(ee.Message);
}
}