ADO.NET非连接类,关于DataTable、DataColumn和DataRow对象的创建

非连接数据访问类是在客户应用程序中进行实例化的。在使用非连接类时必须使用DataTable对象。

DataTable对象

DataTable对象将表格化数据表示为内存中的一个包含行、列和约束条件的表。

创建一个DataTable对象:

DataTable 对象 = new DataTable(对象名);

 

例:DataTable Student = new DataTable(“student”);

上例就创建了一个对象名为StudentDataTable对象。

 

注意:在vs2005中有时会出现这样的错误:““DataTable”是“命名空间”,但此处被当做“类型”来使用”。那是因为DataTable是命名空间System里的一个命名空间,,所以,为了解决这个问题可以这样来调用:

 

System.Data.DataTable Student = new DataTable("student");

 

这样就不会出现上面的错误了!

添加DataColumn对象以创建一个模式

一个表中必须有至少一个以上的Column对象,也就是二维表中的列!创建语法如下:

DataColumn 对象 = new DataColumn(对象名);

//设置对象属性

……

DataTable对象.Columns.Add(DataColum对象);

例如在上面的Student中加入studentnumberstudentnamestudentsex3个属性列:

          


// 创建studentnumber列:

            DataColumn studentnumber 
=   new  DataColumn( " ID " );

            studentnumber.AllowDBNull 
=   false ; // 该列是否允许有空值

            studentnumber.DataType 
=   typeof ( string ); // 该列的数据类型的设置

            studentnumber.MaxLength 
=   10 ; // 该列的属性的最大长度

            studentnumber.Unique 
=   true ; // 该列里的值是否取唯一值

 

            
// 创建studentname列:

            DataColumn studentname 
=   new  DataColumn( " name " typeof ( string ));

            studentname.AllowDBNull 
=   false ;

            studentname.MaxLength 
=   10 ;

            studentname.Unique 
=   false ;

 

            
// 创建studentsex列:

            DataColumn studentsex 
=   new  DataColumn( " sex " typeof ( string ));

            studentsex.Unique 
=   false ;

            studentsex.AllowDBNull 
=   true ;

            studentsex.MaxLength 
=   1 ;

 

            
// 将刚刚创建好的列加入Student表中:

            Student.Columns.Add(studentnumber);

            Student.Columns.Add(studentname);

            Student.Columns.Add(studentsex);

创建主键列

一个DataTable对象的主键由一个或者多个列构成,以唯一表示每个数据行。创建方法如下:

 

DataTable对象.PrimaryKey = new DataColumn[]{DataColumn对象集合};

例:我们把刚刚创建好的Student中的studentnumber设置为主键列:

 

//把studentnumber列设置为主键列:

            Student.PrimaryKey = new DataColumn[] { studentnumber };

可以看到,其实主键列就是一个DataColumn对象的数组!

创建用于存储数据的DataRow对象

介绍三种常用的创建方法:

 

1. DataRow 对象 = DataTable对象.NewRow( );

//设置每个属性列的值:

DataRow对象[索引] = 要设置的值;

……

//设置完毕

DataTable对象.Rows.Add(DataRow对象);

 

2.        DataTable对象.Rows.Add(第一列属性值,第二列属性值……第n列属性值);

3.         

4.        使用 DataTable对象.LoadDataRow()函数;

下面分别使用这3中方法将小红、小明和小张这三个人加入Student中:


// 把小红加入Student中:

            DataRow row_xiaohong 
=  Student.NewRow();

            row_xiaohong[studentnumber] 
=   " 00001 " ;

            row_xiaohong[studentname] 
=   " 小红 " ;

            row_xiaohong[studentsex] 
=   " " ;

            Student.Rows.Add(row_xiaohong);

 

            
// 把小明加入Student中:

            Student.Rows.Add(
" 00002 " " 小明 " " " );

 

            
// 把小张加入Student中:

            Student.LoadDataRow(
new   object []{ " 00003 " , " 小张 " , " " },LoadOption.OverwriteChanges);

非连接数据访问类是在客户应用程序中进行实例化的。在使用非连接类时必须使用DataTable对象。

DataTable对象

DataTable对象将表格化数据表示为内存中的一个包含行、列和约束条件的表。

创建一个DataTable对象:

DataTable 对象 = new DataTable(对象名);

 

例:DataTable Student = new DataTable(“student”);

上例就创建了一个对象名为StudentDataTable对象。

 

注意:在vs2005中有时会出现这样的错误:““DataTable”是“命名空间”,但此处被当做“类型”来使用”。那是因为DataTable是命名空间System里的一个命名空间,,所以,为了解决这个问题可以这样来调用:

 

System.Data.DataTable Student = new DataTable("student");

 

这样就不会出现上面的错误了!

添加DataColumn对象以创建一个模式

一个表中必须有至少一个以上的Column对象,也就是二维表中的列!创建语法如下:

DataColumn 对象 = new DataColumn(对象名);

//设置对象属性

……

DataTable对象.Columns.Add(DataColum对象);

例如在上面的Student中加入studentnumberstudentnamestudentsex3个属性列:

          


// 创建studentnumber列:

            DataColumn studentnumber 
=   new  DataColumn( " ID " );

            studentnumber.AllowDBNull 
=   false ; // 该列是否允许有空值

            studentnumber.DataType 
=   typeof ( string ); // 该列的数据类型的设置

            studentnumber.MaxLength 
=   10 ; // 该列的属性的最大长度

            studentnumber.Unique 
=   true ; // 该列里的值是否取唯一值

 

            
// 创建studentname列:

            DataColumn studentname 
=   new  DataColumn( " name " typeof ( string ));

            studentname.AllowDBNull 
=   false ;

            studentname.MaxLength 
=   10 ;

            studentname.Unique 
=   false ;

 

            
// 创建studentsex列:

            DataColumn studentsex 
=   new  DataColumn( " sex " typeof ( string ));

            studentsex.Unique 
=   false ;

            studentsex.AllowDBNull 
=   true ;

            studentsex.MaxLength 
=   1 ;

 

            
// 将刚刚创建好的列加入Student表中:

            Student.Columns.Add(studentnumber);

            Student.Columns.Add(studentname);

            Student.Columns.Add(studentsex);

创建主键列

一个DataTable对象的主键由一个或者多个列构成,以唯一表示每个数据行。创建方法如下:

 

DataTable对象.PrimaryKey = new DataColumn[]{DataColumn对象集合};

例:我们把刚刚创建好的Student中的studentnumber设置为主键列:

 

//把studentnumber列设置为主键列:

            Student.PrimaryKey = new DataColumn[] { studentnumber };

可以看到,其实主键列就是一个DataColumn对象的数组!

创建用于存储数据的DataRow对象

介绍三种常用的创建方法:

 

1. DataRow 对象 = DataTable对象.NewRow( );

//设置每个属性列的值:

DataRow对象[索引] = 要设置的值;

……

//设置完毕

DataTable对象.Rows.Add(DataRow对象);

 

2.        DataTable对象.Rows.Add(第一列属性值,第二列属性值……第n列属性值);

3.         

4.        使用 DataTable对象.LoadDataRow()函数;

下面分别使用这3中方法将小红、小明和小张这三个人加入Student中:


// 把小红加入Student中:

            DataRow row_xiaohong 
=  Student.NewRow();

            row_xiaohong[studentnumber] 
=   " 00001 " ;

            row_xiaohong[studentname] 
=   " 小红 " ;

            row_xiaohong[studentsex] 
=   " " ;

            Student.Rows.Add(row_xiaohong);

 

            
// 把小明加入Student中:

            Student.Rows.Add(
" 00002 " " 小明 " " " );

 

            
// 把小张加入Student中:

            Student.LoadDataRow(
new   object []{ " 00003 " , " 小张 " , " " },LoadOption.OverwriteChanges);

你可能感兴趣的:(Datatable)