sql >> データベース >  >> RDS >> Sqlserver

ストアド プロシージャの結果セットから ArrayList を生成する

    あなたがすべきことは、 ExecuteReader() を呼び出すことです その cmd で オブジェクト、次のように:

    public static IEnumerable<int> GetAllVendors()
    {
        using (var cmd = Data.GetCommand(Configuration.DatabaseOwnerPrefix + ".GetAllInformationAndHelpVendorIds", Connections.MyDbConnection))
        {
            using (var reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    yield return reader.GetInt32(0);
                }
            }
        }
    }
    

    これは、SQL が最初の列 (インデックス 0 で識別される) を持つテーブルを返すことを前提としています。 メソッド GetInt32() に ) が探している ID になります。 SQL が別の列に ID を返す場合は、ID が見つかると予想される列にインデックスを調整するだけです。

    このソリューションでは、コマンドの接続が既に開いていることも想定しています。そうでない場合は、 cmd.Connection.Open() を実行できます cmd.ExecuteReader() の直前 .



    1. sqliteLog 14:行でファイルを開くことができません

    2. char列に基づいてMySQLテーブルをパーティション化する方法は?

    3. PostgreSQLの特定のスキーマですべてのオブジェクトの所有権を変更するにはどうすればよいですか?

    4. 非同期I/Oを多用するコードは、非非同期よりも実行速度が遅いのはなぜですか?