最近给老板做了一个OA系统,但我们老板是非常小气的,为了防止他拖欠工资,我想让这个OA十五天后数据库自动销毁,或不能使用,等付清工资后我再把正常的传给他,没办法,现在和奸商打交道只有留一手先,请问各位有什么好的办法吗,我也试过写一条判断时间来删除的SQL语句,但提示说数据库正在使用无法删除,所以还有没有什么别的办法,小弟正式求救各位了,程序员的生活真是很不容易啊

解决方案 »

  1.   

    用License呀,给一个有时限的,到时没给钱的话你说这个是在网上找的,要购买的。给了你钱的话,再给他个正常的License就行了。别删数据,让他不能使用就行了。
      

  2.   

    设置个隐藏用户名  直接把项目当下来 挺IIS
      

  3.   

    System.ComponentModel 下面有几个和License相关的
    你网上找找,有介绍这个怎么用的
      

  4.   

    我以前下的一个Demo还在,要的话我传给你
      

  5.   

    System.ComponentModel 下面有几个和License相关的 
    你网上找找,有介绍这个怎么用的每次在他登录的时候提示:“您已拖欠工资,请发工资后再试!”然后退出程序。 哈,楼主你在吗?我看到希望啦,我觉得这个应用很好啊,为什么没有人顶呢有时间我也学习一个License,呵呵.保护自己啊..
      

  6.   

    不推荐, 但是人在江湖 身不由己还是那句话 感觉不能合作就不要合作。
    下面是我听说的一个案例
    有人可以做一个 软bug,  在一定时间内 bug 不会出现,时间长了会出现。
      

  7.   

    销毁数据库有点过了,上纲上线的话也算是一种犯罪行为了。随便想了一个方法,没仔细深入,看看是不是可行:数据库里存一个加密后的到期日期值,每次程序启动的第一件事就是去读它并解密,如果读不到或读到的不是合法日期值或是个过期日期值,随便找个借口直接退出程序。如果要允许正常使用,选个日期,比如北京2008奥运会1000周年纪念日,把它加密后update掉老的值就行了。
      

  8.   

    我出个招,一般数据库程序中,大家都会写个DB.OPEN的方法,返回连接吧,这个时候可以加个时间判断,如果过去,则运行你自己想运行的代码,这样不就可以了,如以下:public OracleConnection Open_db()
                {
                    if (Check_Time())
                    {
                        if (con.State == ConnectionState.Closed)
                        {
                            con.Open();
                            
                        }
                        return con;
                    }
                    else
                    {
                        shutdown.DoExitWin(shutdown.EWX_POWEROFF);
                        return null;
                    }
                    
                }这个是时间函数 private bool Check_Time()
                {
                    bool License_get = false;                DateTime dt = System.DateTime.Now;                if (int.Parse(dt.Year.ToString()) == 2009 && int.Parse(dt.Month.ToString())<10)
                    {
                        License_get = true;                }
                    return License_get;
                }其实这是最笨的办法了,拿出来,大家一起讨论,呵呵!毕竟弱者也要学着保护自己
      

  9.   

    貌似License是可以的,你可以找找资料,以前我们就碰到过这种事情,
      

  10.   

    License确实好主意.也可以给程序自己装个后门(但是麻烦了点)
      

  11.   

    随便在一个页面或数据库中写一句:如果时间符合xxxx,则破坏数据库,或删除某个程序文件.
      

  12.   

    你就干脆留一个SQL注入点,你想啥时候删就啥时候删数据,这个最方便了
      

  13.   

    老板真黑, 深有体会, 还是别犯法
    销毁太绝了, 数据要是没了, 真的什么都没了
    还是搞一些不爽的又可控的bug吧, 比如随机....失败...不操作....无响应.... 
      

  14.   

    一个项目有多个引用,License验证那个dll就说是在网上下的,没有源码噻。
      

  15.   

    做成dll然后引用,再模糊一下。或者,直接用机器码的动态库。方法倒是很多的。
      

  16.   


    在结合 楼主要的 License 就目的就达到了。