【发布时间】:2023-03-07 06:21:02
【问题描述】:
我想在这样的 if 语句中检查 sqlparameter 是否为真;
string sql1 = "SELECT * FROM users WHERE mail=@mail and passwd is null";
string sql2 = "SELECT * FROM users WHERE mail=@mail and passwd=@password";
SqlParameter prm1 = new SqlParameter("mail", txtMail.Text.Trim());
SqlParameter prm2 = new SqlParameter("password", txtPassword.Text.Trim());
if (sql1 == true)
{
MessageBox.Show("yes");
}
else if (sql2 == true)
{
MessageBox.Show("yes2");
}
{
MessageBox.Show("no");
}
【问题讨论】:
-
注意:1. SQLParameter 中缺少 @ 前缀。 2. 您的查询没有执行,您需要
SqlCommand和提供的SqlConnection,查询,参数。 3. 需要.ExecuteScalar()返回查询结果的第一条记录。 -
您想比较 Strings
sql1/sql2和 Booleantrue/false?详细描述你想要达到的目标,而不是“我想要smth”。 -
4.如果你的数据库是 MySQL,那么你需要
MySqlConnection,MySqlCommand -
5.密码是vunerable,无需加密密码并检查数据库。请确保您的用户记录已使用加密密码插入/更新到数据库中。
-
感谢您的 cmets,但我只需要如何检查任何语句的 sql1 或 sql2 是否正确。此代码是示例,不要关注其他故障。
标签: c# sql-server tsql