欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ADO.NET对象之 DataTable

程序员文章站 2023-03-08 11:56:32
  ado.net可以在与断开连接的方式下通过dataset或datatable对象进行数据处理,当需要更新数据时才重新与数据源进行连接,并更新数据源。   datatable对...

 

ado.net可以在与断开连接的方式下通过dataset或datatable对象进行数据处理,当需要更新数据时才重新与数据源进行连接,并更新数据源。

 

datatable对象表示保存在本机内存中的表,它提供了对表中行列数据对象的各种操作。可以直接将数据从数据库填充到datatable对象中,也可以将datatable对象添加到现有的dataset对象中

 首先了解下ado.net的基本结构图吧

ADO.NET对象之 DataTable

 

下面再说说datatable对象创建方式

 

1.创建datatable对象,采用下列两种方式之一:

 

使用datatable类的构造函数创建datatable对象,例如:

datatable table = new datatable( );

调用dataset的tables对象的add方法创建datatable对象

dataset dataset = new dataset( );

datatable table = dataset.tables.add(“mytablename”);

2. 在datatable对象中添加列

 

调用datatable对象的column中的add方法添加列。例如:

datatable table = new datatable(“table1”);

table.columns.add(“姓名”,typeof(system.data.sqltypes.sqlstring));

table.columns.add(“年龄”,typeof(system.data.sqltypes.sqlint32));

注意:由于sql server数据库中的有些数据类型(如sqldatetime、sqldecimal和sqlstring等)和公共语言运行库(clr)不相同,要将创建的表保存到sql server数据库中,要使用system.data.sqltype命名空间中提供的sql server数据类型。

 

3 在datatable对象中创建行

 

由于datatable对象的每一行都是一个datarow对象,所以创建行时可以利用datatable对象的newrow方法创建一个datarow对象,并设置新行中各列的数据,然后利用add方法将datarow对象添加到表中。例如:

//dt是一个datatable对象

datarow row = dt.newrow( );

row[“姓名”] = “张三”;

row[“年龄”] = 20;

dt.rows.add(row);

 

4 将sql server数据库中的表填充到datatable对象中

 

 通过dataadapter对象的fill方法完成。

string connectionstring = properties.settings.default.mydatabaseconnectionstring;

sqlconnection conn = new sqlconnection(connectionstring);

sqldataadapter adapter = new sqldataadapter(“select * from mytable2”,conn);

dataset dataset = new dataset( );

//如果不指定表名,则自动使用默认的表名

adapter.fill(dataset);

//可以使用索引生成的表

datagridview1.datasource = dataset.tables[0];

 

 

 dataset  对象

创建dataset对象

[解决方案资源管理器]--〉添加一个新建或者已经存在的数据库

[数据]--〉[创建数据源]--〉创建或添加一个已经存在的数据库

绑定窗体控件时使用向导创建dataset对

dataset mydatabase = new dataset( );

 

填充dataset对象

 

    创建dataset后,就可以使用sqldataadapter对象把数据导入到dataset对象中,比如通过fill方法将数据填充到dataset中的某个表中。