bombshell 发表于 2014-6-15 09:41:42

如何判断数据窗口的某列的数据是新增还是没有更改过?




用户注册数据窗口的psw列(密码),最后在数据窗口保存时,是经过MD5加密的。这是保存按钮中的一段代码
ls_pass = f_md5(ls_pass)
dw_1.setitem(li_row , 'psw' , ls_pass)

当只修某用户的改权限时,点击保存按钮,密码列又被MD5加密然后写入数据库,导致用户密码错误,请问如何判断pws列数据没有修改呢?

我查看了帮助文件用这段代码,但是得不到结果

dwitemstatus l_statusl_status = dw_1.getitemstatus(dw_1.getrow(), "psw", Primary!)


ehxz 发表于 2014-6-15 19:58:40

密码既然加密了,那就不要这样的界面,单独一个界面来处理密码。修改密码前要输入一次原来的密码,或者更高级用户的密码才能修改。

qweasd2002 发表于 2014-6-16 13:06:46

if (isnew(),1,0)

bombshell 发表于 2014-6-16 13:21:25

ehxz 发表于 2014-6-15 19:58
密码既然加密了,那就不要这样的界面,单独一个界面来处理密码。修改密码前要输入一次原来的密码,或者更高 ...

看来真的要把注册用户和权限设置分开了,本想这样能把2个窗口合并一个窗口,没想到带来这个麻烦。

swimchen 发表于 2014-10-21 04:25:59

LONG ll_Row
ll_Row=dw_Data.GetRow()
IF ll_Row<1 THEN REURN -1

DWITEMSTATUS ldwis_Status
ldwis_Status=dw_Data.GetItemStatus(ll_Row,0,Primary!)

IF ldwis_Status=New! OR ldwis_Status=NewModified! THEN
   STRING ls_Password
   ls_Password=dw_Data.Object.S_Password
   dw_Data.Object.S_Password=gnv_cst_MD5.of_Encrypt(ls_Password)
END IF

如果看不懂就没有办法帮你了

ehxz 发表于 2014-10-21 17:21:04

回答的非常好!!学习!

mylzz 发表于 2014-11-2 16:29:42


longll_row   , ll_select_sum, a , b
string   ls_jh_id   , ls_ccode

dwItemStatus l_status       

ll_row = dw_1.rowcount( )
if ll_row = 0 thenreturn
if dw_1.AcceptText()<> 1 then return

for b=1   toll_row       
       if   string(dw_1.object.data ) ='1'then
                ls_jh_id=    ls_jh_id+string(dw_1.object.data ) + ","               
                ll_select_sum = ll_select_sum + 1        
        end if               
        l_status=dw_1.GetItemStatus(b, 4, Primary!)               
       ifl_status   <>   NotModified!       then a = a + 1
next
页: [1]
查看完整版本: 如何判断数据窗口的某列的数据是新增还是没有更改过?

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com