我已经在youtube上关注了一些教程,并提出了以下代码。我的目标是允许用户在登录到程序后管理其他用户。
<?xml version="1.0" encoding="UTF-8"?>
<dtlAutoFill>
<dtlFill fkQuestion = "192" colData = "test1" colData2 = "test1">
<dtlFill fkQuestion = "189" colData = "test1" colData2 = "test1">
</dtlAutoFill>
我遇到的问题是登录凭据总是失败,即使我有一些伪凭证添加到数据库。否则,我可以访问并打开数据库和/或读/写信息。
答案 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