- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在将数据库(我使用的是 Northwind)绑定(bind)到 DataGridView 时遇到了很多麻烦。我尝试了各种方法,但没有一种方法适用于所有操作,只有一些。我也在其他网站上询问过,但到目前为止我还没有得到任何有用的建议。
是否有真正涵盖所有 CRUD 操作的教程(或涵盖所有内容的多个教程的组合)?
尤其是删除操作让我头疼,因为我得到的唯一提示是将我的删除代码放入某个 DataGridView 事件中,但问题是我无法找到一种方法来确定用户究竟想要删除什么,不会为删除键触发 KeyDown 事件。
谢谢!
编辑:非常感谢。那个文件很有帮助。不过我还有另一个问题,我有一个 DataTable 作为 DataGridView 的数据源。要更新它以执行用户输入的 CRUD 操作,我是否需要手动将数据插入数据表,或者仅使用适配器的 DeleteCommand/InsertCommand/etc 属性构建常规 SQL 命令,然后将尚未修改的数据表作为更新方法中的参数?
即使用用户刚刚输入到 DataGridView 中的值将新行插入到数据库表中,这会得到我想要的结果吗?
private void DGV_Nwind_UserAddedRow(object sender, DataGridViewRowEventArgs e)
{
string sql = "INSERT INTO [" + table.TableName + "] VALUES ("; //sql command base
//add values to command
for (int i = 0; i < e.Row.Cells.Count; i++)
{
sql += "'" + e.Row.Cells[i].ToString() + "'";
if (i < (e.Row.Cells.Count - 1))
{
sql += ", ";
}
else
{
sql += ")";
}
}
//update table
con.OleAdapter.InsertCommand = new OleDbCommand(sql);
con.OleAdapter.Update(table);
}
最佳答案
我创建了一个 C# 库和应用程序,让您可以创建对象、CRUD 操作(使用 BLL 和 DAL)和 Web UI 来执行该 CRUD 操作。
http://manacodegenerator.codeplex.com
它轻巧且使用起来非常简单,它帮助我摆脱了重复创建代码的无聊时间。
我一直在改进它,因为它是我每天使用的工具。
希望对您有所帮助!
关于c# - 如何在 C#.NET 的 DataGridView 中允许 CRUD 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6164527/
我是一名优秀的程序员,十分优秀!