我需要将数据库双向绑定到DataGrid,所以我正在使用这种方法:
private void SetTable(string tableName)
{
var dataGridView1 = new DataGridView { DataSource = GetData(tableName), Dock = DockStyle.Fill };
groupBox1.Text = tableName;
groupBox1.Controls.Clear();
groupBox1.Controls.Add(dataGridView1);
}
private static DataTable GetData(string tableName)
{
using (var connection = new SqlConnection(ConnectionString))
{
var command = new SqlCommand(string.Format("SELECT * FROM {0}", tableName), connection);
connection.Open();
var adapter = new SqlDataAdapter(command);
var result = new DataTable();
adapter.Fill(result);
return result;
}
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
SetTable(comboBox1.Text);
}
所以我有单向绑定。所以我想做一些更改,然后将它们发送回db。所以问题很简单:我应该手动完成还是存在L2S SubmitChanges()
的模拟?我应该只使用SQL请求。没有EF,没有L2S等等。
所以我想从DataGrid
获取一些修改/添加/删除的行,并在数据库中更新它们。
我可以手动完成,使用2个列表,然后进行一个除外查询,但我想自动获取它。