Delphi中可不可以在ADOtable表上直接修改数据
ADOtable已经从SQL数据库里拿到数据了,用户说可不可以直接在表上选中一栏后,修改数据,如何实现呢?...
ADOtable已经从SQL数据库里拿到数据了,用户说可不可以直接在表上选中一栏后,修改数据,如何实现呢?
展开
展开全部
修改数据不就是将表单中的数据更新到数据库中去吗?
我相信你会, 只是没这个思路罢了。
举例说: 可以在DBGrid控件的OnKeyPress事件中检测, 比如说按一下回车键, 切入到编辑模式(即修改Option属性的Editing为True), 可以修改表单数据, 再次按Enter回车键的时候切入到提交模式, 修改Option属性的Editing为False, 同时循环判断用户修改了哪些数据, 被修改过的数据Update到数据库。
如楼上所说, DBGrid中修改数据不安全, 你也可以生成一个临时表, 加一个提交数据的按钮, 按钮的OnClick事件中将临时表中的数据select * into 原表 from 临时表, 最后清空临时表, 保留原表以备恢复数据(当然如果嫌占资源就不保留, 也可以只保留一份, 每次更新都覆盖, 至少给用户一次恢复到提交修改之前的数据的机会)。
这样我就是举个例子说, 给你个思路。
我相信你会, 只是没这个思路罢了。
举例说: 可以在DBGrid控件的OnKeyPress事件中检测, 比如说按一下回车键, 切入到编辑模式(即修改Option属性的Editing为True), 可以修改表单数据, 再次按Enter回车键的时候切入到提交模式, 修改Option属性的Editing为False, 同时循环判断用户修改了哪些数据, 被修改过的数据Update到数据库。
如楼上所说, DBGrid中修改数据不安全, 你也可以生成一个临时表, 加一个提交数据的按钮, 按钮的OnClick事件中将临时表中的数据select * into 原表 from 临时表, 最后清空临时表, 保留原表以备恢复数据(当然如果嫌占资源就不保留, 也可以只保留一份, 每次更新都覆盖, 至少给用户一次恢复到提交修改之前的数据的机会)。
这样我就是举个例子说, 给你个思路。
展开全部
真幸福,都能编软件换钱了.你说的意思应该是在栅格组件中修改数据,可以,但应该提醒用户,在DBGRID中修改数据是相当危险的,这就是数据时刻都有被误改.因为你要在DBGRID中修改数据,就必须把它的只读属性设置为假,那么用户在浏览数据的过程中,只要一个单元格被选中,再按键盘上的任何一字符键,这个单元格中的数据就被修改了,这时只要移动表格中的光标到上一行或下一行,数据就被保存了.你说这危险不.这样就只有在界面上放一个按钮,修改数据时让DBGRID的只读属性为假,修改完毕,再恢复为真.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询