Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在用户单击“登录”按钮后,如何记录voterID?_C#_.net_Database_Winforms_Ms Access - Fatal编程技术网

C# 在用户单击“登录”按钮后,如何记录voterID?

C# 在用户单击“登录”按钮后,如何记录voterID?,c#,.net,database,winforms,ms-access,C#,.net,Database,Winforms,Ms Access,我正在用Access数据库在C#中创建一个简单的投票系统。我需要编辑用户投票后的投票状态,我有下面的代码。如何跟踪用户当前登录的voterID?我需要在这里使用的,其中VoterID=? { conn.Open(); using (var cmmand = new OleDbCommand("UPDATE tbl_voter SET VotingStatus=? WHERE VoterID=?",conn)) { cmmand.Parameters.Ad

我正在用Access数据库在
C#
中创建一个简单的投票系统。我需要编辑用户投票后的投票状态,我有下面的代码。如何跟踪用户当前登录的
voterID
?我需要在这里使用的
,其中VoterID=?

{
    conn.Open();

    using (var cmmand = new OleDbCommand("UPDATE tbl_voter SET VotingStatus=? WHERE VoterID=?",conn))
    {
        cmmand.Parameters.AddWithValue("?", 1);
        cmmand.Parameters.AddWithValue("?", "VoterID");
        cmmand.ExecuteNonQuery();
    }

    conn.Close();
}

因为您正在使用Loginpage。我认为您可能从文本框中获取用户名和密码,然后将其发送到数据库进行验证

首先在Program.cs中创建一个静态变量

public static int VoterID= 0;
然后,当登录成功时,在登录表单本身中用loggedinperson的VoterID填充VoterID变量

  Program.VoterID=int.Parse ( getVoteridof(txtusername.text,txtpassword.text).ToString());
声明下面的方法

 public  Object getVoteridof(String username,String password)
        {
            Object returnValue;
            using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ArtConnectionString"].ConnectionString.ToString()))
            {



                SqlCommand cmd = new SqlCommand();
                cmd.CommandText = "Select VoterID from tbl_voter where Uname=@param1 and Pword=@param2";
                cmd.Parameters.AddWithValue("@param1", username);
                cmd.Parameters.AddWithValue("@param2", password);
                cmd.CommandType = CommandType.Text;
                cmd.Connection = con;
                con.Open();

                returnValue = cmd.ExecuteScalar();
            }

            return returnValue;
        }
现在在你的投票功能中

{
            conn.Open();
            using (var cmmand = new OleDbCommand("UPDATE tbl_voter SET VotingStatus=? WHERE VoterID=?",conn)) {
            cmmand.Parameters.AddWithValue("?", 1);
            cmmand.Parameters.AddWithValue("?", Program.VoterID);
            cmmand.ExecuteNonQuery();
       }
       conn.Close();
}

您当前登录voterID是什么意思?如果您指的是登录win操作系统的人员的用户名,那么您可以使用
system.Environment.UserName
从何处获取VoterID..@SreenathGanga,您可以从数据库中看到,每次用户单击投票按钮时,我都需要在VotingStatus字段中加上一个复选框。@kashi_rock在这个表中有几种方法可以做到这一点,但具体实现方式取决于您。例如,您可以创建一个“投票者”对象,并在成功登录时设置所需的属性,例如userid、username、first name、last name等。在整个登录会话中使用它,并在注销或应用程序关闭时处理它。我忘了告诉您我正在使用OleDB连接。
Program.VoterID=int.Parse(getVoteridof)中存在错误(txtusername.text,txtpassword.text));
它表示无法从对象转换为stringUpdated Answer Program.VoterID=int.Parse(getVoteridof(txtusername.text,txtpassword.text).ToString();在此处显示错误我是否更改
“artconnectionstring”