1

嘿,我正在研究密码更改器。用户登录(成功),使用用户姓名首字母加载全局变量,然后启动密码过期表单。我尝试使用密码过期表单上的这些首字母来从数据库中检索用户信息。

vaUserLog.FieldValue("USERINIT") = UserInitials
vaUserLog.GetEqual
vaStat = vaUserLog.Status

vaStat 一直给我一个错误 4。我正在使用 pervasive v9。与 VA 的连接如下所示:

With vaUserLog
        .RefreshLocations = True
        .DdfPath = DataPath
        .TableName = "USERLOG"
        .Location = "USERLOG.MKD"
        .Open
        If .Status <> 0 Then
           ErrMsg = "Error Opening File " + .TableName + " - Status " + str$(.Status) + vbCrLf + "Contact IT Department"
        End If
    End With

在 DB 表中,USERINIT 是 Char,3。UserInitials 是一个字符串。

可能错过了一些小东西,但现在无法思考。任何帮助表示赞赏。如果您需要更多信息,请让我知道。

干杯

4

1 回答 1

1

状态 4 表示找不到记录。在您的情况下,可能是正在搜索的值是错误的,有不同的填充(空格与二进制零),或者 UserInitials 值不在数据文件中。您可以使用MKDE Tracing查看实际传递给 PSQL 引擎的内容。完成此操作后,请确保您使用的值通过函数执行器工作,您可以在其中打开文件并执行 GetEqual。
以下是我的建议: - 确保您指向正确的数据文件。- 确保将正确的值传递给 GetEqual(通过设置 FieldValue)。

于 2011-06-30T17:51:23.223 回答