C#轉換一多維對象[,]陣列分成數據集/數據表轉換一個對象[,]陣列分成數據集/ C#中的數據表
我有對象[,]和我傳遞,爲了功能和我需要建立數據表
這裏是我的代碼,我想這樣
public static DataTable ArraytoDatatable(Object[,] numbers)
{
DataTable dt = new DataTable();
Console.WriteLine(numbers.Rank);
Console.WriteLine(numbers.Length);
for (int dimension = 0; dimension < numbers.Rank; dimension++)
{
dt.Columns.Add("Column"+(dimension+1));
}
Console.WriteLine("Array");
for (int element = 0; element < (numbers.Length/numbers.Rank); element++)
{
DataRow row = dt.NewRow();
for (int dimension = 0; dimension < numbers.Rank; dimension++)
{
Console.Write("{0} ", numbers[element,dimension]);
row["Column" + (dimension + 1)] = numbers[element, dimension];
}
dt.Rows.Add(row);
Console.WriteLine();
}
Console.WriteLine("DataTable");
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn column in dt.Columns)
{
Console.Write("{0} ", row[column]);
}
Console.WriteLine();
}
return dt;
}
請幫我,如果有任何其他種類的方法
錯誤是在這裏請大家看 enter image description here
我嘗試另一種方法是
-`
public DataSet ToDataSet(Object[,] myData)
{
DataSet ds = new DataSet();
// Test 2D array of Objects so that different data types
// can be in each element
// Create a DataTable object. Each row in the table is one
// row in the array
DataTable dt = new DataTable();
// Create DataColumns for each column in the row
// each column is a element in the array param 1 is the name
// of the column and param 2 is its data type
DataColumn dc = new DataColumn("block", typeof(System.String));
// Add this column to the columns collection of the data table
dt.Columns.Add(dc);
dc = new DataColumn("mode", typeof(System.String));
dt.Columns.Add(dc);
dt.Columns.Add(dc);
for (var i = 0; i < myData.GetLength(0); i++)
for (var j = 0; j < myData.GetLength(1); j++)
dt.Rows[i][j] = myData[i, j];
// Add the row to the DataTable
// dt.Rows.Add(data);
// If you need to add the DataTable to a DataSet
// then execute the next two lines
DataSet ds1 = new DataSet();
ds.Tables.Add(dt);
return ds1;
}
`
你已經證明你已經嘗試過,它的工作?它有什麼問題? –
@tim請參閱附圖 – Ranju
您可以使用XML格式的數字,還是必須將它們放在數組中?如果你可以使用XML,它就像調用DataTable.ReadXml()函數一樣簡單。 –