#pragma code("UseGen.dll")
#include "USEGENAP.H"
#pragma code()
LPCMN_ERROR err;
if(strcmp(GetTagChar("@NewPassword"), GetTagChar("@ConfirmationPassword"))==0)
{
if (PWGENConnect("CC_test_01_09_28_14_41_58",err)==1 )
{
if (PWGENChangePassword(GetTagChar("@CurrentUserName"),GetTagChar("@OldPassword"),GetTagChar("@NewPassword"),err)==1)
{
MessageBox(NULL,"密码修改成功","提示",MB_OKMB_ICONEXCLAMATIONMB_SETFOREGROUNDMB_SYSTEMMODAL);
SetTagChar("@CurrentUserName","");
SetTagChar("@OldPassword","");
SetTagChar("@NewPassword","");
SetTagChar("@ConfirmationPassword","");
}
else
{
if ((strlen(GetTagChar("@NewPassword")) <= 5)&&(strlen(GetTagChar("@OldPassword"))!=0))
{
MessageBox(NULL,"您输入的新密码小于6位数,请重新输入","提示",MB_OKMB_ICONEXCLAMATIONMB_SETFOREGROUNDMB_SYSTEMMODAL);
SetTagChar("@NewPassword","");
SetTagChar("@ConfirmationPassword","");
}
else
{
MessageBox(NULL,"用户名密码不一致","提示",MB_OKMB_ICONEXCLAMATIONMB_SETFOREGROUNDMB_SYSTEMMODAL);
SetTagChar("@CurrentUserName","");
SetTagChar("@OldPassword","");
}
}
}
else
{
MessageBox(NULL,"建立连接失败","提示",MB_OKMB_ICONEXCLAMATIONMB_SETFOREGROUNDMB_SYSTEMMODAL);
}
PWGENDisconnect(err);
}
else
{
MessageBox(NULL,"两次输入的密码不一致,请重新输入","提示",MB_OKMB_ICONEXCLAMATIONMB_SETFOREGROUNDMB_SYSTEMMODAL);
SetTagChar("@NewPassword","");
SetTagChar("@ConfirmationPassword","");
}
以上是wincc的密码修改的程序,自己定义了三个变量@OldPassword;@NewPassword;@ConfirmationPassword。 @CurrentUserName为当前用户变量。这些变量连接到输入输出域。
输入所有密码修改后,出现“用户密码不一致”提示框。
调试步骤:以为是没有连接到数据库,于是用下列程序调试
#pragma code("UseGen.dll")
#include "USEGENAP.H"
#pragma code()
LPCMN_ERROR err;
if (PWGENConnect("CC_test_01_09_28_14_41_58",err)==1 )
{ MessageBox(NULL,"建立连接成功","提示",MB_OKMB_ICONEXCLAMATIONMB_SETFOREGROUNDMB_SYSTEMMODAL);}
提示建立连接成功。
但是把“CC_test_01_09_28_14_41_58”改为“pp_test_01_09_28_14_41_58”也提示建立连接成功。但这个并不是我的项目dsn名 这是为什么?到底连接上了没有?
并且PWGENChangepassword()返回值为0.
这是为什么?