c# 如何将DataTable转为string[,]或者string[][]数组或者arrarlist?
c# 如何将DataTable转为string[,]或者string[][]数组或者arrarlist?
 public string[][] getbookByDataSet()
        {
            string[][] rs = null;
            String sql="select * from suppliers";
            //获取数据库连接
              sqlConn = ME_DBUtil.getConn();
            adatapter = new SqlDataAdapter(sql, sqlConn);
            ds = new DataSet();
            adatapter.Fill(ds, "suppliers");
            for(int i =0;i< ds.Tables["suppliers"].Rows.Count;i++)
            {
                for(int b =0;b < ds.Tables["suppliers"].Columns.Count;b++)
                {
                  rs[i][b] =ds.Tables["suppliers"].Rows[i-1][b-1].ToString();
                }
                Console.WriteLine();
            }
            Console.ReadKey();
            return rs;
           
            
        }

解决方案 »

  1.   

      public string[,] TableToArray(DataTable p_Table)
            {
                string[,] _ReturnText = new string[p_Table.Rows.Count, p_Table.Columns.Count];            for (int i = 0; i != p_Table.Rows.Count; i++)
                {
                    for (int z = 0; z != p_Table.Columns.Count; z++)
                    {                    
                        _ReturnText[i, z] = p_Table.Rows[i][z].ToString();
                    }
                }                           return _ReturnText;
            } 这样不行?
      

  2.   

    我觉得DataTable更好处理一点,很方便。
    如果你从数据库查出来的东西,有图像列怎么办?
      

  3.   

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.SqlClient;namespace WindowsApplication22
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }        void Form1_Load(object sender, EventArgs e)
            {
                DataTable DT = new DataTable();
                DT.Columns.AddRange(new DataColumn[] { new DataColumn(), new DataColumn(), new DataColumn() });
                DT.Rows.Add(new Object[] { "00", "01", "02" });
                DT.Rows.Add(new Object[] { "10", "11", "12" });
                String[][] Datas = DataTableToArray(DT);
                for (int i = 0; i < DT.Rows.Count; i++)
                    for (int j = 0; j < DT.Columns.Count; j++)
                        MessageBox.Show(i.ToString() + "行," + j.ToString() + "列:" + Datas[i][j]);        }        String[][] DataTableToArray(DataTable DT)
            {
                String[][] Datas = new String[DT.Rows.Count][];
                for (int i = 0; i < DT.Rows.Count; i++)
                {
                    Datas[i] = new String[DT.Columns.Count];
                    DT.Rows[i].ItemArray.CopyTo(Datas[i], 0);
                }
                return Datas;
            }
        }
    }
      

  4.   

    我再补充一下,如果我在页面里面调用生成的string[,]或者string[][]数组或者arrarlist? 该怎么调用?