如何寫這樣的控件,老板要求啊!

jaunmai 2003-10-02 05:39:57
要求從clientdataset繼承過來,當對數据表增加,修改,刪除時
能自動記錄表中主要內容(uid,username,date...),
刪除數据全部都要記錄(想用memo),
請教下這樣的控件如何寫,有何提議?
...全文
70 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
jaunmai 2003-10-04
  • 打赏
  • 举报
回复
多謝各位建議.

偶用mysql數据庫,三層結构,學習中..
yckxzjj 2003-10-04
  • 打赏
  • 举报
回复
参考VCL中的源码
xjlqlqlq 2003-10-04
  • 打赏
  • 举报
回复
继承后可否考虑重写Insert , Update, Delete事件或方法,在其中加上日志程序。。。
soft123 2003-10-04
  • 打赏
  • 举报
回复
如果我的理解没错的话,你是想记录服务器向数据库提交的Sql语句,如果是这样,应该从TadodataSet(假设是用ado连接)继承,覆盖PSExecuteStatement方法,ClientDataSet生成的sql都会在PSExecuteStatement方法中得到,当然要求ClientDataSet的数据提交方式是不依赖数据集的,就是ClientDataSet默认的数据提交方式。得到Sql后保存到数据库中就可以了,比较简单。控件原理就是这样,代码也不多(10几行就可搞定),你自己研究一下。
jaunmai 2003-10-03
  • 打赏
  • 举报
回复
To: FrameSniper(§绕瀑游龙§)
有點像日志記錄,主要實現對數据表的操作做一個備忘記錄.

To: aiirii(aiirii)
多謝你,研究下!
aiirii 2003-10-03
  • 打赏
  • 举报
回复
如果你用 dbExpress, 那 SQLMonitor 就可達到你的要求了!
FrameSniper 2003-10-03
  • 打赏
  • 举报
回复
说明白点可以吗?
jaunmai 2003-10-03
  • 打赏
  • 举报
回复
自己頂,沒有呀!
rwdx 2003-10-03
  • 打赏
  • 举报
回复
不是很难,我上次去一个地方面试,他居然说要招一个人来写一个类似MAPX的控件出来,真是服了他了
蓝色光芒 2003-10-03
  • 打赏
  • 举报
回复
如果是SQL数据库就好办了,直接在SQL里面写一个触发器,让Insert , Update, Delete的时候就把当然操作的记录保存到一个表中,当然也可以保存到文件中。
Storm2008 2003-10-03
  • 打赏
  • 举报
回复
up
huojiehai 2003-10-03
  • 打赏
  • 举报
回复
Tclientdatast中有BeforeDelete\BeforePost\BeforeInsert\BeforeEdit事件
你在其中写代码试试,应该不是很难

但uid,username从哪来,可要考虑好是你的登录用户还是数据库连接用户,如果是数据库连接用户直接取不到,你用TClientdataset好像是三层程序吧,如果是三层的话直接调用函数增加删除更新的还要考虑记录,所以要考虑的很多,这要的程序没做过,只能给你点建议
wwle 2003-10-03
  • 打赏
  • 举报
回复
我只有up 一下了
pandengzhe 2003-10-03
  • 打赏
  • 举报
回复
友情up
jaunmai 2003-10-03
  • 打赏
  • 举报
回复
頂,高手指點下.

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧