导航

非连接数据访问类是在客户应用程序中进行实例化的。在使用非连接类时必须使用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);