2010-02-26 66 views
0

我在后台使用SQL Server 2005制作VB.NET应用程序。当然用户不能直接编辑数据库,但会使用一些UI功能来添加和修改数据。VB.NET - 直接访问数据库

但是,应该可以从管理界面轻松访问几个表格,例如有关供应商的特定信息。让用户自由编辑这些数据的最简单方法是什么?一种方法是使用DataGridView,但这对用户来说似乎很复杂,另外我不确定何时将编辑后的数据保存回数据库。

我能想到的最佳方式是创建用于添加,删除和更改信息的自定义对话框,但对于这样一个小功能来说,这看起来太多了。

回答

1

您要么必须以表格格式(比如使用DataGridView)为他们提供数据,要么需要构建一些可以让他们编辑单个记录(如自定义表格)的东西。看起来很多工作(可以),但是有一些方法可以减少工作量。

查看如何在VB.NET中使用数据绑定。有一个教程here,另一个here和其他许多人在那里。您可以将数据绑定用于表格视图或单个记录。使用DataGridView对于用户来说不是太复杂,只要你在代码中建立必要的支持 - 确保行被保存,如果它已被更改并移动到另一行(或提示它们),禁止在列上编辑在将数据写回数据库之前,他们不应该能够更改,验证数据等。

还有一些代码生成工具,如CodeSmith可以在GUI和数据库之间创建数据访问层。您可以获得的一些模板甚至会为您生成实际的表格。

我能想到的唯一的其他选择是让他们通过像SQL Server Management Studio这样的工具直接访问数据库,并设置只具有特定表/视图权限的登录名,但我强烈建议不要这样做。

+0

是的我可以添加一个数据绑定到datagridview或单个字段,问题是什么时候最好是运行TableAdapter.Update方法。在CellLeave,CellValidated或按下保存按钮时。 – MatsT 2010-02-26 15:32:44

+0

我会建议保存记录,当用户完成编辑行并移动到另一行(或表外的其他控件)使用RowLeave事件或让他们更改几行然后单击保存按钮。如果您使用“保存”按钮选项,请确保在关闭表单之前检查所有已编辑的行。 – TLiebe 2010-02-26 15:52:15