CYQ.Data 轻量数据访问层(五) 构造数据行

有了数据结构单元DataCell之后,数据单元行也就很容易写了,因为,所有的数据单元加起来,就成了数据行了

于是,我们很轻易的写出了以下类:

ExpandedBlockStart.gif
ExpandedBlockStart.gif/// <summary>
    
/// 一行数据
    
/// </summary>

    public class MDataRow : List<MDataCell>
ExpandedBlockStart.gif    
{
        
public MDataRow()
            : 
base()
ExpandedSubBlockStart.gif        
{
        }

        
public MDataRow(int capacity)
            : 
base(capacity)
ExpandedSubBlockStart.gif        
{
        }

    }

 

看,没几行代码

现在,我们为行加几个常用的属性,比如访问行所属的表名,还有从行访问出其列的结构,顺便加上一个数据库链接字符串

如下:

ExpandedBlockStart.gif
ExpandedBlockStart.gif#region 常用访问属性
              
        
private string _TableName;
ExpandedSubBlockStart.gif        
/// <summary>
        
/// 数据库表名
        
/// </summary>

        public string TableName
ExpandedSubBlockStart.gif        
{
            
get
ExpandedSubBlockStart.gif            
{
                
return _TableName;
            }

            
set
ExpandedSubBlockStart.gif            
{
                _TableName 
= value;
            }

        }

        
private string _ConnectionString;
ExpandedSubBlockStart.gif        
/// <summary>
        
/// 所属的表的数据库链接字符串
        
/// </summary>

        public string ConnectionString
ExpandedSubBlockStart.gif        
{
            
get
ExpandedSubBlockStart.gif            
{
                
return _ConnectionString;
            }

            
set
ExpandedSubBlockStart.gif            
{
                _ConnectionString 
= value;
            }

        }

        
private MDataColumn _Columns = null;
ExpandedSubBlockStart.gif        
/// <summary>
        
/// 数据列集合
        
/// </summary>

        public MDataColumn Columns
ExpandedSubBlockStart.gif        
{
            
get
ExpandedSubBlockStart.gif            
{
                
if (_Columns == null)
ExpandedSubBlockStart.gif                
{
                    _Columns 
= new MDataColumn(base.Count);
                    
for (int i = 0; i < base.Count; i++)
ExpandedSubBlockStart.gif                    
{
                        _Columns.Add(
base[i].DataStruct);
                    }

                }

                
return _Columns;
            }

        }

        
#endregion

 

OK,此至属性也加完了,顺便加个克隆方法

ExpandedBlockStart.gif
ExpandedBlockStart.gif#region 克隆
        
public MDataRow Clone()
ExpandedSubBlockStart.gif        
{
            MDataRow dataRow 
= new MDataRow(base.Count);

            
for (int i = 0; i < base.Count; i++)
ExpandedSubBlockStart.gif            
{
                MDataCellStruct mcb 
= base[i].DataStruct;
                MDataCell mdc 
= new MDataCell(ref mcb);
                mdc.Value 
= base[i].Value;
                dataRow.Add(mdc);
            }

            dataRow.ConnectionString 
= this.ConnectionString;
            dataRow.TableName 
= this.TableName;
            
return dataRow;
        }

        
#endregion

 

 

至此,数据行也构建完成了


版权声明:本文原创发表于博客园,作者为路过秋天,原文链接:http://www.cnblogs.com/cyq1162/archive/2009/11/07/1597959.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值