1.登录处每次进入系统必须要输入数据库服务器,建议使用配置文件,第一次输入后保存 到配置文件中,下次再运行程序自动加载。2.对敏感数据操作采用记录操作日志方式,如删除单据。3.在执行查询时,应提供进度提示或光标样式变化以提醒查询进度。以上是别人对我们的软件提出的建议,希望各位大侠帮忙应该怎么修改分不够再加
小女子拜谢了

解决方案 »

  1.   

    晕,又一个小女子...
    1、INI或者注册表(搜以下,很多例子),动态设置adoconnection的连接字2、不建议直接删除,应该打标记表明删除3、....
      

  2.   

    第一个问题中,偶不是很明白  配置文件如何使用,是ini文件吗?
    我们原先的程序是 在登陆的时候要输入 服务器名称,然后加在connectionstring的datasource后面加上 输入的服务器名称字符串
    第二个问题 : 偶不是很懂如何记录操作日志呢? 现在我们的删除的确出现很大的问题
    第三个问题:这个光标该如何变化呢?
      

  3.   

    哦 谢谢 jinjazz的回复,关于第二问题还有其他的方案吗? 现在我们那张表里的数据量已经很大了.运行的速度也很慢.
    欢迎大家回答
    明天再来关注
      

  4.   

    关于第二问题还有其他的方案吗? 现在我们那张表里的数据量已经很大了.运行的速度也很慢.
    如果使用的SQL的话可以使用触发器
      

  5.   

    2.对敏感数据操作采用记录操作日志方式,如删除单据。// 你的记录操作日值方式就是 记录下来用户对某些敏感表/数据的所有操作而已
    比如 查询/修改/增加/删除等。。你如果可以修改源码的话 可以在用户对满足你的要求<针对敏感数据>时 把用户的操作记录记在某个表<或者文件就是>
      

  6.   

    1.登录处每次进入系统必须要输入数据库服务器,建议使用配置文件,第一次输入后保存 到配置文件中,下次再运行程序自动加载。见到过这个没有?
            ADOCon.ConnectionString := 'Provider=SQLOLEDB.1;' +
            'Password=' +GlServerUserPass  + ';' +
            'Persist Security Info=False;' +
            'User ID=' + GlServerUserName  + ';' +
            'Initial Catalog='+GlServerDBName+';' +
            'Data Source=' + GlServerName  + ';' +
            'Connect Timeout=15;Use Procedure for Prepare=1;' +
            'Auto Translate=True;Packet Size=4096;'         ;
    GlServerUserPass  :是数据库登陆密码(例如登陆帐号SA对应的密码)
    GlServerUserName  :是登陆数据库的帐号(常用的SA)
    GlServerDBName    :这个是数据库名称
    GlServerName      :这个就是 数据库服务器2.对敏感数据操作采用记录操作日志方式,如删除单据。
       
       你给这个表增加个标志的字段,假设如果是D,表示此记录已经被删除,检索是不要检出来3.在执行查询时,应提供进度提示或光标样式变化以提醒查询进度。    这个最好使用多线程,作成进度条的方式,并且该进度条只能想WINDOWS2000刚启动那样,只是来回滚动,不能显示出还要多久,因为你检索数据这个操作本身也没办法预料需要多久!
      

  7.   

    多谢大家的回答:
    关于第一个问题,LKJ99你说的这个我是明白的啊,我现在知道了可能就是如jinjazz所说的用ini文件,我也看到注册表的例子,但是据说注册表的读写函数98和2000是不一样的,所以还是用ini文件,我已经找到了一个例子,相信可以的.
    关于第二个问题 :偶知道了大致的解决方法啦, 多设一张象回收站一样的表/ 设置标志/设置删除权限/记录操作日志......
    关于第三个问题 LKJ99: 使用多线程 , 不是很明白呢, 不好意.
      

  8.   

    来迟了!
    我用方法跟LKJ99(路是人走的,命是天定的)差不多。不过第一点我是存在注册表里面,我的数据库连接是放在中间层处理的。
      

  9.   

    据说注册表的读写函数98和2000是不一样的
    ----------------------------------------
       你是指读写的方法不一样吗???完全一样,还不是readstring,writestring之类的东西使用多线程 , 不是很明白呢, 不好意.
    ----------------------------------------
       我做了一个类似WINDOWS2003刚启动那样的来回滚动条,多嫌成的,就放在一个窗体里,
       需要的话,EMAIL,我给你发一个吧!
      

  10.   

    好的 LKJ99 俺的邮箱地址发短信给你啦:)
    谢先
      

  11.   

    马上给你发,你把我发给你的窗体加到你的工程文件中,
    以后的用法:在你的“从数据库检索数据”语句之前,插入如下语句:   Frm_Waiting := TFrm_Waiting.Create(self) ;
       Frm_Waiting.Show ;
       Frm_Waiting.Repaint ;
    // 你的“从数据库检索数据”语句检索完之后,需要插入如下语句:(可以接在 你的“从数据库检索数据”语句 后面)   if not Assigned(Frm_Waiting) then exit ;
       Frm_Waiting.Tag := 1 ;
       Frm_Waiting.Close ;
      

  12.   

    我加进去之后好像不行呢:( LKJ99
      

  13.   

    继续:关于那个ini文件,
    登录处每次进入系统必须要输入数据库服务器,建议使用配置文件,第一次输入后保存 到配置文件中,下次再运行程序自动加载。
    那么刚开始的时候ini文件是空的吧?若是用户修改了从ini文件中读出的服务器名,是否再次存入?
      

  14.   

    我给无数的人up,呵呵,给小女子还是头一回
    up