0

一个非常简单但非常令人沮丧的问题。我已经将一个数据网格绑定到一个本地数据库,以便玩耍并自学有关数据集和 c# 的知识。绑定数据,没问题。自定义填充(和 sql 选择),没问题。接下来是添加记录。因此,我添加了以下代码:

private void bAdd_Click(object sender, EventArgs e)
        {
            DataRow newRow = abbtestDataSet.Tables["main"].NewRow();
            newRow["Name"] = "Simon";
            newRow["Age"] = 23;
            abbtestDataSet.Tables["main"].Rows.Add(newRow);
        }

数据网格更新没有问题,但是数据从未真正提交到数据库。我到处寻找解决方案或我可能会错过的东西,但一无所获;至少从我所见,我做的一切都是正确的。

那么我错过了什么?无疑是非常愚蠢的事情。

4

1 回答 1

0

我相信您将需要使用 aDataAdapter将更新的内容实际发送DataSet到数据库。

查看以下链接以获取更多信息:

http://www.java2s.com/Tutorial/CSharp/0560__ADO.Net/UseDataTabletoinsertaRow.htm

为初学者使用 ADO.NET

第一个链接的相关示例是:

    string ConnectionString ="server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI;";
    SqlConnection conn = new SqlConnection(ConnectionString);

    conn.Open();

    SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Employee ORDER BY ID", conn);

    SqlCommandBuilder builder = new SqlCommandBuilder(adapter);

    // Create a dataset object
    DataSet ds = new DataSet("EmployeeSet");
    adapter.Fill(ds, "Employee");

    // Create a data table object and add a new row
    DataTable EmployeeTable = ds.Tables["Employee"];
    DataRow row = EmployeeTable.NewRow();
    row["FirstName"] = "R";
    row["LastName"] = "D";
    row["ID"] = "10";
    EmployeeTable.Rows.Add(row);

    // Update data adapter
    adapter.Update(ds, "Employee");
于 2013-04-25T16:47:31.620 回答