将数据行添加到数据集未更新数据库(C#)
问题描述:
这是一个非常简单但非常令人沮丧的问题。我已经绑定了一个数据网格到本地数据库,以便四处玩耍,并教导我自己关于数据集和c#。绑定数据,没问题。自定义填充(和sql选择),没问题。接下来是添加一条记录。因此,我添加了以下代码:将数据行添加到数据集未更新数据库(C#)
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);
}
datagrid更新没有问题,但是数据永远不会实际提交到数据库。我已经搜索了一个解决方案的高点或低点,或者我可能错过了什么也没有;至少从我看到的我做的一切都是正确的。
那么我错过了什么?毫无疑问,这很愚蠢。
答
我相信你将需要使用DataAdapter
实际发送更新的DataSet
到数据库。
看看下面的链接,了解更多信息:
http://www.java2s.com/Tutorial/CSharp/0560__ADO.Net/UseDataTabletoinsertaRow.htm
从第一链接相关的样品是:
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");