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

ASP.NET:ADO.NET的DataAdapter对象

程序员文章站 2023-11-17 19:17:46
dataadapter对象可以隐藏和connection、command对象沟通的细节,通过dataadapter对象建立、初始化datatable,从而和dataset对...
dataadapter对象可以隐藏和connection、command对象沟通的细节,通过dataadapter对象建立、初始化datatable,从而和dataset对象结合起来在内存存放数据表副本,实现离线式数据库操作,事实上在8.1.2节中,我们在介绍dataset数据模型的时候就已经演示了如何利用dataadapter对象进行数据库连接。dataadapter对象允许将dataset对象中的数据保存到数据源中,也可以从数据源中读取数据,并且也可以底层数据保存体进行数据的添加、删除、更新等操作。

    dataadapter对象含有四个不同的操作命令,分别如下:

    (1)、selectcommand:用来或去数据源中的记录;

    (2)、insertcommand:用来向数据源中新插入一条记录;

    (3)、updatecommand:用来更新数据源中的数据;

    (4)、deletecommand:用来删除数剧源中的记录。

    根据使用的数据库不同,dataadapter也具有了两个不同的对象:oledbdatareader和sqldatareader对象,分别用来访问支持ado managed provider的数据库和sql server数据库。

    当使用oledbdatareader对象时,使用方法:

 [visual basic语言] 

public function selectoledbsrvrows(dataset as dataset, connection as string, query as string) as dataset
    dim conn as new oledbconnection(connection)
    dim adapter as new oledbdataadapter()
    adapter.selectcommand = new oledbcommand(query, conn)
    adapter.fill(dataset)
    return dataset
end function

[c#语言]

public dataset selectoledbsrvrows(dataset dataset,string connection,string query) 
{
    oledbconnection conn = new oledbconnection(connection);
    oledbdataadapter adapter = new oledbdataadapter();
    adapter.selectcommand = new oledbcommand(query, conn);
    adapter.fill(dataset);
    return dataset;
}

    当使用sqldatareaderd对象时,使用方法为:

[visual basic语言] 

public function selectsqlsrvrows(dataset as dataset, connection as string, query as string) as dataset
    dim conn as new sqlconnection(connection)
    dim adapter as new sqldataadapter()
    adapter.selectcommand = new sqlcommand(query, conn)
    adapter.fill(dataset)
    return dataset
end function

[c#语言]

public dataset selectsqlsrvrows(dataset dataset,string connection,string query) 
{
    sqlconnection conn = new sqlconnection(connection);
    sqldataadapter adapter = new sqldataadapter();
    adapter.selectcommand = new sqlcommand(query, conn);
    adapter.fill(dataset);
    return dataset;
}