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);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值