【问题标题】:update command C# DataGridView to SQL将命令 C# DataGridView 更新为 SQL
【发布时间】:2021-01-09 03:31:07
【问题描述】:

我正在尝试从 C# 项目 datagridview "Work_Table" 更新 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);

【问题讨论】:

标签: c# sql datagridview


【解决方案1】:

您需要从网格的.DataSource 属性中检索DataTable。这将包含有关添加、更新和删除内容的信息。

您可以跳过该命令,将选择字符串和连接字符串直接传递给DataAdapter 构造函数。

创建一个CommandBuilderDataAdapter.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);
        } 
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多