所以,我有一个名为Muestras的表(我用Access创建它)。它只有一列名为“Muestras”。它只有随机数(33,83,42等),总共30个。
我想将所有这些数字放在int[]
中。我该怎么办?
OleDbConnection conexionMuestra = new
OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;DataSource=C:\Users\Roberto\Documents\Muestra_pv.accdb");
OleDbDataAdapter adaptador = new OleDbDataAdapter("Select * from Muestra", conexionMuestra);
DataTable tablaM = new DataTable();
adaptador.Fill(tablaM);
答案 0 :(得分:2)
因此,您有DataTable
一列,需要int[]
?
一种方式:
int[] result = tablaM.AsEnumerable()
.Select(r => r.Field<int>(0)) // or via column-name r.Field<int>("Muestras")
.ToArray();
如果它实际上是一个字符串列,则需要先解析它:
int[] result = tablaM.AsEnumerable()
.Select(r => int.Parse(r.Field<string>(0)))
.ToArray();
答案 1 :(得分:0)
如果表继续使用foreach循环或while循环增长,我会使用arrayList。
ArrayList al = new ArrayList();
while(tablaM.hasrows)
{
al.add("data");
}
我的语法可能已关闭,因为我有一段时间没有使用过c#但是应该给你一个想法