如何检查用户是否已在C#中进行投票

时间:2015-03-16 14:51:41

标签: c# sql tsql ado.net

我正在制作一个简单的投票系统,当选民已经完成投票并尝试重新登录时,系统将读取数据库并阻止选民登录。我该怎么做?

我的数据库中包含的内容:

用户名,密码和备注。评论是指选民是"完成"或"未投票"。

我现在在代码中拥有的内容:

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 */
}

请帮帮我,我有点新的...提前谢谢..

1 个答案:

答案 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,因为它适用于您的情况,只有两次机会truefalse