读书人

老妖训鸟:数据安全有关问题

发布时间: 2012-03-04 11:13:34 作者: rapoo

老妖训鸟:数据安全问题
计算机工作环境:人多脚杂,电源插座经常被碰掉,可以预防,但不可杜绝(经常停电)。
软件:涉及金钱,需要保证数据库的数据有效、正确。

采用ADO+access,ADOConnection后面有几个ADODataset,能否在ADOConnection中监视流过的SQL语句,写入SQL log,然后操作备份数据库?
这样做是否有效?
若无效,请问有什么办法?

请老妖训鸟。

[解决办法]
静候老妖
[解决办法]
名字真有创意!
[解决办法]
ADOConnection应该不能监视,不过,你可以在每次使用ADOConnection时,把相应的sql记录下来即可
[解决办法]
d
[解决办法]
晕死,还以为老妖什么时候这么大牌了,哈哈!
[解决办法]
也被吓一跳
[解决办法]
太有型了,帮项
[解决办法]
训什么鸟?本人不明白楼主在搞什么。
[解决办法]
哈哈...
[解决办法]
妖哥的网站怎么最近打不开了呢?
[解决办法]
网站正常啊,只是访问人多,有时打开慢一些。

楼主的问题,首先,你写数据库能保证全是用SQL语句吗?可以考虑写一个自定义的函数类似这样:

//---------------------------------------
// 写日志函数
void CrnOutLog(String strLog)
{
int nFileHandle;
String strLogFile(ExtractFilePath(ParamStr(0)) + "sql.log ");
if(FileExists(strLogFile))
nFileHandle = FileOpen(strLogFile, fmOpenWrite);
else
nFileHandle = FileCreate(strLogFile);
//
FileSeek(nFileHandle, 0, 2);
String strLine = String().sprintf( "\r\n%s %s ",
FormatDateTime( "YYYY-MM-DD HH:NN:SS ", Now()), strLog);
FileWrite(nFileHandle, strLine.c_str(), strLine.Length());
//
FileClose(nFileHandle);
}
//---------------------------------------
// TADODataSet执行SQL语句
void CrnExecSQL(TADODataSet *ds, String strSQL)
{
ds-> Close();
ds-> CommandType = cmdText;
ds-> CommandText = strSQL;
ds-> Open();
//
CrnOutLog(strSQL);
}

然后在程序中,凡是用到TADODataSet执行SQL语句时,都调用CrnExecSQL函数就行了。所执行的SQL语句都会记录到日志文件sql.log中。

[解决办法]
唉.....我最近 无奈写了这样一个东西

不好在人机交互的界面上弹msgbox 因为客户要处理的东西多

只好在后台 把操作都写入日志。。。。
[解决办法]
一个软件写日志是不能少的。
[解决办法]
妖哥的方法不错

计算机工作环境:人多脚杂,电源插座经常被碰掉,可以预防,但不可杜绝(经常停电)。
> > 这样的环境 哎
[解决办法]
mark
[解决办法]
呵呵,妖哥的方法不错,了解了解下
[解决办法]
未必都是计算机惹的祸吧,不过经常熬夜肯定是对身体不好的。

读书人网 >C++ Builder

热点推荐