Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.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# 将值传递给全局变量以供WinForms(C)和SQL连接引用_C#_Sql Server_Winforms_Radio Button_Global Variables - Fatal编程技术网

C# 将值传递给全局变量以供WinForms(C)和SQL连接引用

C# 将值传递给全局变量以供WinForms(C)和SQL连接引用,c#,sql-server,winforms,radio-button,global-variables,C#,Sql Server,Winforms,Radio Button,Global Variables,我需要两个全局变量在不同的阶段被多个winforms访问 第一个是关于一个不同的用户,在登录到应用程序后, 其他winforms需要根据登录的用户从sql server表中获取数据 SqlCommand cmd = new SqlCommand("SELECT * FROM regClient WHERE client_ID = **[GLOBAL VARIABLE]**", con); 其次,用户可以作为客户机或学生登录。需要基于此调用不同的语句。此值由登录窗口上的radiobutton设置

我需要两个全局变量在不同的阶段被多个winforms访问

第一个是关于一个不同的用户,在登录到应用程序后, 其他winforms需要根据登录的用户从sql server表中获取数据

SqlCommand cmd = new SqlCommand("SELECT * FROM regClient WHERE client_ID = **[GLOBAL VARIABLE]**", con);
其次,用户可以作为客户机或学生登录。需要基于此调用不同的语句。此值由登录窗口上的radiobutton设置

因此,如果选中radClient,则将全局设置为“client”,如果选中radStudent,则将全局设置为“student” 然后,与其他winforms一起,可以调用select语句或基于全局变量的enable/visible

我相信我可以在Programs.cs中存储变量,但我不确定。

创建一个用户类:

public class User
{
    public enum eStatus
    {
         Client,
         Student
    }

    public static eStatus Status { get; set; }

    public static string Name { get; set; }  
}
你没有说一个变量是什么,所以我猜它是某种标识符,比如他们的名字

您可以通过以下方式设置用户的状态:

User.Status = User.eStatus.Client;
姓名和地址如下:

User.Name = "Charlie";
您可以从任何位置访问和设置值

评论回应:

如果是这样的话:

if (Program.User.Status == Program.User.eStatus.Client)
{
   // commands
}
else // if (Program.User.Status == Program.User.eStatus.Student)
{
   // commands
}

您不需要第二个if,因为User.Status只能有两个值。

在哪里声明所述类?我不熟悉这个概念,如何调用用户名或我为sql设置的名称,以及状态?@NathanMackie如果您使用Visual Studio,您可以右键单击program.cs文件所在的项目,并使用添加选项选择类。然后将文件命名为User.cs,您将获得要填写的用户类存根。否则,该类可以与program.cs放在同一个文件中,也可以与program.cs放在同一文件夹中创建的另一个文件中,并具有相同的名称空间,以简化操作。至于第二部分,你应该把它作为一个单独的问题问出来,详细说明我定义的内容,这样你就可以得到详细的答案。啊,对了。我将Class.User放在Program.cs中,需要在winforms中使用if语句调用它。如果Program.User.Status.Client=true,那么{commands}否则如果Program.User.Status.Student=true,那么{commands}@NathanMackie您可能已经找到了答案,因为您将我的响应标记为答案,但我写下了if作为我文章的编辑的样子。