我有一个WinForm,
我已经添加了命令行函数 -
foreach (string arg in args)
{
if (arg == "-id")
{
string u = "";
ADODB.Connection ADconn = new ADODB.Connection();
string connstr = "db connection string";
ADconn.ConnectionString = connstr;
object recs;
ADODB.Recordset rs = new ADODB.Recordset();
ADconn.Open(connstr);
string qry = string.Format("Select ID from TABLE where NO = '" + args[counts + 1] + "'");
rs = ADconn.Execute(qry, out recs, 0);
for (; !rs.EOF; rs.MoveNext())
{
string test = rs.Fields["column"].Value.ToString();
u = test;
}
}
counts = counts + 1;
}
因此args[counts + 1]
是用户在-id
之后在命令行中输入的任何变量。我需要稍后在我的代码中使用此值但是我该怎么做?
答案 0 :(得分:1)
一种选择是创建一个具有静态属性的类,该类封装命令行参数,例如
public class RunConfiguration
{
public static int Id { get; set; }
}
初始化 main()例程中的值。然后,您可以在程序中的任何位置引用它们,例如
int id = RunConfiguration.Id;
答案 1 :(得分:1)
使用Environment.GetCommandLineArgs从程序中的任何位置访问命令行参数,而不仅仅是main方法。 (它可以防止你需要在任何地方传递它们。)