首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

自定义DataSet解决方法

2012-04-05 
自定义DataSet自定义DataSet,想用属性访问的方法访问内部表内指定行列的值。如下写法编译时没问题,但运行时

自定义DataSet
自定义DataSet,想用属性访问的方法访问内部表内指定行列的值。如下写法编译时没问题,但运行时报错,请高手指点。感谢
public   class   UserDataSet   :   DataSet
{
  private   DataTable   tbError;
  public   UserDataSet()
{
                        tbError   =   new   DataTable( "Error ");
                        DataColumn   colFlg   =   new   DataColumn( "ErrorFlg ",   Type.GetType( "System.Int32 "));
                        tbError.Columns.Add(colFlg);
                        DataColumn   colID   =   new   DataColumn( "ErrorID ",   Type.GetType( "System.String "));
                        tbError.Columns.Add(colID);                      
                       
                        tbError.Rows[0][ "ErrorFlg "]   =   -1;
                        tbError.Rows[0][ "ErrorID "]   =   " ";
                       
}    
                public   int   ErrorFLG
                {
                        set
                        {
                                tbError.Rows[0][ "ErrorFlg "]   =   value;
                        }
                        get
                        {
                                return   Convert.ToInt32(tbError.Rows[0][ "ErrorFlg "]);
                        }
                }                
                public   string   ErrorID
                {
                        set
                        {
                                tbError.Rows[0][ "ErrorID "]   =   value;
                        }
                        get
                        {
                                return   tbError.Rows[0][ "ErrorID "].ToString();


                        }
                }
}

[解决办法]
构造方法这样写
public UserDataSet()
{
tbError = new DataTable( "Error ");
DataColumn colFlg = new DataColumn( "ErrorFlg ", Type.GetType( "System.Int32 "));
tbError.Columns.Add(colFlg);
DataColumn colID = new DataColumn( "ErrorID ", Type.GetType( "System.String "));
tbError.Columns.Add(colID);
DataRow dr;
dr = tbError.NewRow();
dr[ "ErrorFlg "] = -1;
dr[ "ErrorID "] = " ";
tbError.Rows.Add(dr);
}

热点排行