0

選択クエリの結果をC#の配列に格納したいと思います。データテーブルの値を取得して配列に格納する方法を教えてください。選択クエリの結果には、n行と1列のみが含まれています。

4

3 に答える 3

7

type単一列のデータ型(たとえば、、、int... string)とmyField単一列の名前に置き換えます。

var myArray = (from row in myDataTable.AsEnumerable()
               select row.Field<type>("myField")).ToArray();

C#のジェネリックスと型推論の魔法を使用して、配列は自動的に正しいデータ型(たとえば、、、int[]... string[])になります。

于 2012-04-11T06:31:21.613 に答える
4

このようなものを試してください

 private void getData()
        {
            SqlCeConnection conn = new SqlCeConnection("data source='c:\\northwind.sdf'; mode=Exclusive;");
            SqlCeDataAdapter da = new SqlCeDataAdapter("Select [Unit Price] from Products", conn);
            DataTable dtSource = new DataTable();
            da.Fill(dtSource);
            DataRow[] dr = new DataRow[dtSource.Rows.Count];
            dtSource.Rows.CopyTo(dr, 0);
            double[] dblPrice= Array.ConvertAll(dr, new Converter<DataRow , Double>(DataRowToDouble));

        }

        public static double DataRowToDouble(DataRow dr)
        {
            return Convert.ToDouble(dr["Unit Price"].ToString());
        }
于 2012-04-11T06:30:49.163 に答える
0
DataTable mydt = new DataTable();
ArrayList aLrows = new ArrayList();

foreach (DataRow dataRow in mydt.Rows)
{
  aLrows.Add(string.Join(";", dataRow.ItemArray.Select(item => item.ToString)));
}
于 2012-04-11T06:38:43.310 に答える