把一个DataTable对象转换成一个数组对象

本文介绍如何将DataTable转换为对象数组,包括多列数据和单列数据两种情况,并提供了具体的实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

示例代码1:(DataTable中包含多列数据的情况)

        public Customer[] GetAll()
        {

            DataTable table = SqlHelper.ExecuteDataTable("select FId, FName, FBirthday, FCustLevel, FTelNum ,FAddress   from T_Customer ");  //得到一个DataTable对象
 

            Customer[] customers = new Customer[table.Rows.Count];//设置一个长度为DataTable行数的客户类数组
           
             for (int i = 0; i < table.Rows.Count; i++)
            {
                DataRow row = table.Rows[i];

 


                //把下面的对象封装成一个方法
               
                Customer customer = new Customer();//得到一个客户类对象

                //对得到的客户类对象进行封装
                customer.ID=(int)row["FId"];
                customer.Name=(string)row["FName"];
                customer.Birthday = (DateTime?)CommonHelper.FromDbValue(row["FBirthday"]);
                customer.CustLevel=(int)row["FCustLevel"];
                customer.TelNum=(string)row["FTelNum"];
                customer.Address=(string)row["FAddress"];
               
                customers[i] = customer;//把封装的Model对象赋值给Model数组对象的第 i 个元素
            }
             return customers;
        }





示例代码2:(DataTable中包含一列数据的情况)
   
     public TableName[]  GetAllNames()
      { 

                DataTable table = DAL.SqlHelper.ExecuteDataTable(@"SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'");//拿到一个DataTable数据表对象

 

           string[] tables = new string[table.Rows.Count];//通过表中的行的数目,得到一个表的行数的字符串数组,因为数组中只包含一个字符串类型的参数TABLE_NAME,所以数组类型设置成string类型。如果是数据行中的数据类型是int类型,则要把这里的数组类型设置成int类型

 

           for (int i = 0; i < table.Rows.Count; i++)//DataTable对象长度为界限进行一个遍历

           {

               DataRow row = table.Rows[i];//得到Dable中的每一个行Row

               tables[i] = (string)row["TABLE_NAME"];//把每一个行中的TABLE_NAME列赋值给字符串数组中的每一个元素

           }
        return  tables; 
           

 }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值