我正在制作一个简单的投票系统,当选民已经完成投票并尝试重新登录时,系统将读取数据库并阻止选民登录。我该怎么做?
我的数据库中包含的内容:
用户名,密码和备注。评论是指选民是"完成"或"未投票"。
我现在在代码中拥有的内容:
conn.Open();
SqlCommand cmd;
SqlDataReader dr;
string cmdall = "Select from Voter where username=@user and password=@pass and remarks=''"; //got no clue as to what i am going to command here..
using (cmd = new SqlCommand(cmdall, _db._conn))
{
cmd.Parameters.AddWithValue("@user", _user);
cmd.Parameters.AddWithValue("@pass", _pass);
dr = cmd.ExecuteReader();
/* Then if and else statement */
}
请帮帮我,我有点新的...提前谢谢..
答案 0 :(得分:1)
您的查询应该是:
string cmdall = "Select remarks from Voter where username=@user and password=@pass";
然后检查它的值完成:
while(dr.Read())
{
if (dr["remarks"].ToString() == "Done")
// already voted
}
正如@Daniel在评论中指出的更好的方法是在数据库中使用bit
,因为它适用于您的情况,只有两次机会true
或false