Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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# 为什么我的标签不能保持不变_C# - Fatal编程技术网

C# 为什么我的标签不能保持不变

C# 为什么我的标签不能保持不变,c#,C#,当我运行代码时,标签保持不变,但当我调试它时,我可以看到文本的变化,然后在运行完成后又会发生变化 public void getData(string a) { SqlConnection conn = new SqlConnection(@"Data Source=MASSI\FABERSERVER;Initial Catalog=Data.mdf;Integrated Security=True"); conn.Open(); SqlCommand command

当我运行代码时,标签保持不变,但当我调试它时,我可以看到文本的变化,然后在运行完成后又会发生变化

public void getData(string a) 
{
    SqlConnection conn = new SqlConnection(@"Data Source=MASSI\FABERSERVER;Initial Catalog=Data.mdf;Integrated Security=True");
    conn.Open();
    SqlCommand command = new SqlCommand("Select UserID,UserName,Email FROM Login Where UserName= '" + a + "'", conn);
    SqlDataReader reader = command.ExecuteReader();

    while (reader.Read())
    {
        label1.Text = reader["UserID"].ToString();
        label2.Text = reader["UserName"].ToString();
        label3.Text = reader["Email"].ToString();
    }

    conn.Close();
}

以防万一,请尝试以下方法:

public void getData(string a) {
        SqlConnection conn = new SqlConnection(@"Data Source=MASSI\FABERSERVER;Initial Catalog=Data.mdf;Integrated Security=True");
        conn.Open();
        SqlCommand command = new SqlCommand("Select UserID,UserName,Email FROM Login Where UserName= '" + a + "'", conn);
        SqlDataReader reader = command.ExecuteReader();

        string id, name, email;

        while (reader.Read())
        {
            id = reader["UserID"].ToString();
            name = reader["UserName"].ToString();
            email = reader["Email"].ToString();

        }
        conn.Close();

        label1.Text = id;
        label2.Text = name;
        label3.Text = email;
    }
}

希望有帮助。

WebForms?WinForms?WPF?您可能只在1排之后。您的While循环应该在找到这一行之后退出,并且,您应该使用if reader.HasRows添加未找到该行时的逻辑。这个链接讨论了一种更好的方法:但我想它有点高级。您的应用程序对SQL注入是开放的。改用参数化查询。是否重新加载表单,然后不再调用getData?这些更改不会自动持续。