如何检查访问数据库中的用户名和密码

时间:2015-05-19 02:21:45

标签: c# ms-access

我已经在youtube上关注了一些教程,并提出了以下代码。我的目标是允许用户在登录到程序后管理其他用户。

<?xml version="1.0" encoding="UTF-8"?>
<dtlAutoFill>
    <dtlFill fkQuestion = "192" colData = "test1" colData2 = "test1">  
    <dtlFill fkQuestion = "189" colData = "test1" colData2 = "test1">
</dtlAutoFill> 

我遇到的问题是登录凭据总是失败,即使我有一些伪凭证添加到数据库。否则,我可以访问并打开数据库和/或读/写信息。

1 个答案:

答案 0 :(得分:0)

int result = (int)cmd.ExecuteScalar(); 将执行查询并返回一行到result这里,您的查询是

select * from login where Username=" + "? and [Password]=?"

因此,如果表中存在任何具有给定详细信息的行,它将返回该行并尝试在result中分配。

因此,您需要检查表中是否存在具有给定用户名和密码的行,并且返回行数。所以使用

select count(*) from login where Username=" + "? and [Password]=?"

并做

int result = (int)cmd.ExecuteScalar();

现在result将有0如果没有给定详细信息的行,否则它将返回number of rows存在且具有给定值

**Please try to save password in encrypted format 
instead of plain text for security reasons