【问题标题】:Update DataGridView to DataSet将 DataGridView 更新为 DataSet
【发布时间】:2018-04-21 10:29:59
【问题描述】:

我在 datagridview 中显示来自数据集的信息。修改后如何使用datagridview中的数据更新数据集? (自动或通过按钮)使用winforms,在visual studio 2010,c#

【问题讨论】:

    标签: c# winforms visual-studio-2010 datagridview dataset


    【解决方案1】:

    首先,您应该创建一个新的数据表来包含来自 Datagridview 的数据 之后,在按钮中是:(我正在连接的数据库是访问权限(sql是一样的))

            DataTable dt = new DataTable();
            dt = (DataTable)dataGridView1.DataSource;
    
            OleDbDataAdapter adp = new OleDbDataAdapter("Your query", con);
            OleDbCommandBuilder cmdb = new OleDbCommandBuilder(adp);
    
            adp.Update(dt);
    

    // con: 连接数据库的变量名

    【讨论】:

    • 如果我使用“(DataTable)dataGridView.DataSource”它说它不能转换为数据表。所以我改用“dataGridView.DataSource as DataTable”。现在唯一的问题是在最后一行,在运行程序时,它说 dt 不能为空。我检查过,gridView 不为空,但 dt 确实为空。这个怎么可能? (如果相关,我正在使用 SqlCe,因为我没有 OleDb)。
    • 首先,您使用的是vb.net?
    • 第二,dt null 是对的,因为你需要创建一个数据集来将数据从 sql 填充到数据集: public DataSet FillData() { con.Open(); OleDbCommand cmd = new OleDbCommand("你的查询", con); OleDbDataAdapter adp = new OleDbDataAdapter(cmd);数据集 ds = new DataSet(); adp.Fill(ds, "nameYourTable"); con.Close();返回 ds; ; } 然后创建一个按钮来事件捕获 dataGridView1.DataSource = FillData().Tables[0];
    猜你喜欢
    • 1970-01-01
    • 2020-06-13
    • 2017-04-21
    • 2012-02-06
    • 1970-01-01
    • 2023-04-06
    • 2010-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多