永发信息网

在DBgrid里直接编辑数据后,怎么样更新数据库

答案:2  悬赏:50  手机版
解决时间 2021-12-17 21:06
  • 提问者网友:时光、暗淡了多少承诺
  • 2021-12-17 10:33
在DBgrid里直接编辑数据后,怎么样更新数据库
最佳答案
  • 五星知识达人网友:盐甜味女孩
  • 2021-12-17 11:52
看得出来,数据库已经连接好了。那就是说,数据库在本地。对吧?
既然会连接数据库,那就说明你应该知道DBNavigator1。
既然你没有选择DBNavigator1,那肯定是有原因的。
其实,使用button一样可以实现DBNavigator1的功能。
1、增加记录的命令:
table1.addend。 在table尾部添加一条记录;
table.insert。 在当前记录的前面插入一条记录;
2、修改记录的命令:
table1.edit 编辑当前记录
3、删除记录的命令:
table1.delete
4、撤销的命令:
table1.cancel
5、提交命令
table1.post
对数据库的所有曾、删、改的命令后都要进行提交!
全部回答
  • 1楼网友:盐甜味女孩
  • 2021-12-17 12:28
dbgride的界面是与数据库关联的,对它的任何输入操作都要与实际数据库的数据关联,你不可能随意编辑它(特别是当数据库相关的若干表的增删改被定义了约束关系时更是如此),不是改点属性就解决问题的,不关联datasource也不能使用它,这是没办法改变的。不过,你可以用另外的方式实现你的想法,只不过麻烦些,比如用tstringgrid或tlistview(详细资料方式下),只是你自己需要做很多工作,数据的调入、字段、记录与表格的关联,数据同步,增删改操作等。 只是,程序员一般不这么做,而是用其他简单些的方式实现,比如,添加、修改记录,弹出单独窗口把数据用非数据库控件表现出来,让用户随意编辑,然后提交时再自己做检查(用户输入逻辑错误的话可以要求重输入)和转换,这样做能完全掌控用户的输入行为,保证数据录入的正确性。这两样如果直接在dbgrid上编辑,你将会有很多麻烦,单是纠正用户错误(避免引发异常和数据内部逻辑错误)就不好找机会,因为你想完全掌控的话要涉及很多事件处理,其间的逻辑时序关系很难找清,甚至未必能做好。而对删除和查询操作,dbgrid一般没什么问题。因此,有经验的程序员可能会把dbgrid的readonly设置为true。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯