(●'◡'●)ノ
 
收藏文章 楼主

c# Recordset转datatable 方法

版块:经验教程   类型:普通   作者:小狼人   查看:2123   回复:0   获赞:0   时间:2023-12-01 16:16:09
        /// <summary>
        /// Recordset转datatable
        /// </summary>
        /// <param name="recordset"></param>
        /// <returns></returns>
        private DataTable ConvertRecordsetToDataTable(ADODB.Recordset recordset)
        {
            DataTable dataTable = new DataTable();
            dataTable.Namespace = null;
            // 添加列
            for (int i = 0; i < recordset.Fields.Count; i++)
            {
                dataTable.Columns.Add(GetUniqueColumnName(dataTable,recordset.Fields[i].Name)
                    ,typeof(string));
            }

            // 添加数据
            recordset.MoveFirst();
            while (!recordset.EOF)
            {
                var dataRow = dataTable.NewRow();
                for (int i = 0; i < recordset.Fields.Count; i++)
                {
                    var field = recordset.Fields[i];
                    dataRow[i] = field.Value;
                }
                dataTable.Rows.Add(dataRow);
                recordset.MoveNext();
            }

            return dataTable;
        }

        /// <summary>
        /// 设置datatable唯一列名
        /// </summary>
        /// <param name="dataTable"></param>
        /// <param name="baseColumnName"></param>
        /// <returns></returns>
        private string GetUniqueColumnName(DataTable dataTable,string baseColumnName)
        {
            string columnName = baseColumnName;

            // 如果列名已存在,追加数字后缀,直到找到一个唯一的列名
            int suffix = 1;
            while (dataTable.Columns.Contains(columnName))
            {
                columnName = baseColumnName+"_"+suffix;
                suffix++;
            }

            return columnName;
        }

赢得客户的认可,需要服务细节化 
回复列表
默认   热门   正序   倒序

回复:c# Recordset转datatable 方法

Powered by HadSky 8.5.2

©2015 - 2025 爱宅域

加入官群 QQ咨询 友链展示 申请友链

您的IP:216.73.216.254,2025-06-15 16:07:34,Processed in 0.2626 second(s).

头像

用户名:

粉丝数:

签名:

资料 关注 好友 消息
已有0次打赏
(0) 分享
分享

请保存二维码或复制链接进行分享

取消