PB如何创建操作日志字典

糖芋 2005-12-23 11:46:58
创建操作日志字典 -------------------------------------------------------------Susue

--------- 如表已存在,先删除
--if exists(select 1 from sysobjects where name='S_LOG' and Xtype='U') drop table S_LOG ;
go

--------- 建新表和主键
create table S_LOG (
P_ID int IDENTITY NOT NULL, --ID
C_UID varchar(20) NULL, --编号姓名
C_DDTT varchar(20) NULL, --日期时间
C_ACT varchar(20) NULL, --动作
C_SQL varchar(2048) NULL, --SQL语句
CONSTRAINT PK_LOG PRIMARY KEY CLUSTERED (P_ID)) ;


////////////////////////////////////////////////////////////
//函数名: none gf_log(string s_sql)
// 参数: string s_sql //sql语句 
// 调用: datawindow SQLPreview script:
// gf_log(this.GetSQLPreview())
// pb高版本可用
// gf_log(sqlsyntax)
// 功能:记录用户操作日志
// 原创: Susue 2003-12-14
////////////////////////////////////////////////////////////
string ls_act //动作
if pos(s_sql,'SELECT') > 0 then return
choose case left(s_sql,6)
case 'INSERT'
ls_act = '插入'
case 'UPDATE'
ls_act = '更新'
case 'DELETE'
ls_act = '删除'
end choose

string ls_uid,ls_ddtt //用户id,系统时间
ls_uid = gs_uid + gs_name
ls_ddtt = gf_datetime() //自定义取得系统时间函数
insert into s_log (c_uid,c_ddtt,c_act,c_sql)
values (:ls_uid,:ls_ddtt,:ls_act,:s_sql);

请问该如何使用上诉代码(在PB哪个位置写入如窗口or数据窗口?)
...全文
295 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovelihp 2005-12-28
  • 打赏
  • 举报
回复
都被说光了...我顶
糖芋 2005-12-28
  • 打赏
  • 举报
回复
已做好,交给前台工作人员做测试,欢迎提出更好的建议。
mtu207 2005-12-25
  • 打赏
  • 举报
回复
学习
hygougou 2005-12-25
  • 打赏
  • 举报
回复
如果所有的更新都是放在数据窗口中,那就可以,retrieve是不会加载日志的,函数做了处理,脚本中如果有嵌入SQL语句,还是得用触发器
WorldMobile 2005-12-24
  • 打赏
  • 举报
回复
楼主的这个函数应该是放到SQLPreview里,但感觉不太完美,retrieve时也会执行

我觉得你最好在祖先的数据窗口的updatestart里写代码,把修改日志记录下来

这样只有更新时才会触发

lzheng2001说的方法也可以,缺点是不能记录窗口名等
lzheng2001 2005-12-23
  • 打赏
  • 举报
回复
最好还是利用触发器来完成日志记录任务
xiaoplx 2005-12-23
  • 打赏
  • 举报
回复
gf_log 是一个全局函数,你照着建

调用如1楼,但这种只用Datawindow更新的才有日志
直接SQL语句就没有
jiadelin 2005-12-23
  • 打赏
  • 举报
回复
在datawindow 的SQLPreview脚本中 写gf_log(sqlsyntax)即可
糖芋 2005-12-23
  • 打赏
  • 举报
回复
试试

1,077

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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