-3

私は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。後でコードでこの値を使用する必要がありますが、どうすればよいですか?

4

2 に答える 2

1

1つのオプションは、コマンドライン引数をカプセル化する静的プロパティを持つクラスを作成することです。

public class RunConfiguration
{
    public static int Id { get; set; }
}

main()ルーチンの値を初期化します。その後、プログラム内のどこでもそれらを参照できます。

int id = RunConfiguration.Id;
于 2012-08-20T15:32:45.043 に答える
1

Environment.GetCommandLineArgsを使用して、メインメソッドだけでなく、プログラム内のどこからでもコマンドライン引数にアクセスします。(それはあなたがそれらをどこにでも回す必要をなくします。)

于 2012-08-20T15:33:21.733 に答える