DataAdapter对象可用于执行数据的命令操作,含有四个不同的操作命令,分别如下:

 

  1. SelectCommand:用来选取数据源中的记录:
  2. InsertCommand:用来向数据源中新插入一条记录:
  3. UpdateCommand:用来更新数据源中的数据:
  4. DeleteCommand:用来删除数据源中的记录

 

实例

更新数据源DataAdapter的update方法可用来将dataset中的更改解析回数据源

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data; namespace DataAdapter
{
class Program
{
public static void outvalus(DataSet ds)
{
foreach (DataTable outtb in ds.Tables)
{
foreach (DataRow outrow in outtb.Rows)
{
foreach (DataColumn outcl in outtb.Columns)
{
Console.Write(outrow[outcl] + "\t");
}
Console.WriteLine();
}
} }
static void Main(string[] args)
{
string constr = "server=192.168.100.222;user=sa;pwd=p@ssw1rd;database=pwd1";
SqlConnection mycon = new SqlConnection(constr);
try
{
mycon.Open();
SqlDataAdapter my = new SqlDataAdapter("select * from book", mycon); //离线访问数据集dataset需要用到DataAdapter 它起到一个适配的作用
//(比如电脑的适配器 把交流电适配成直流的) DataSet ds = new DataSet(); //创建数据集 my.Fill(ds, "book"); //DataAdapter填充方法 把数据库原表填充到DataSet数据集中
Console.WriteLine("修改前的数据");
foreach (DataTable outtable in ds.Tables)
{
foreach (DataColumn outcolu in outtable.Columns)
{
Console.Write(outcolu.ColumnName + "\t\t"); //输出DataSet中列的名称
}
Console.WriteLine();
} outvalus(ds);
Console.WriteLine("修改后的数据");
foreach (DataTable outtable in ds.Tables)
{
foreach (DataColumn outcolu in outtable.Columns)
{
Console.Write(outcolu.ColumnName + "\t\t"); //输出DataSet中列的名称
}
Console.WriteLine();
}
string sqlupdate = "update book set shuoming='K3账套备份' where bid=10001 ";//声明一个更新的字符串 my.UpdateCommand = new SqlCommand(sqlupdate,mycon); //利用dataadapter适配中的updatecommand属性来获取SqlCommand(更新字符串,数据库连接) DataRow row = ds.Tables[].Rows[]; //定义一个datarow row=dataset中第一个表第一行;
row["shuoming"]="K3账套备份"; //行shuoming列=k3账套备份;
my.Update(ds, "book"); //dataadapter中update方法来更新数据集中的book数据源
outvalus(ds); }
catch (Exception ex)
{ Console.WriteLine(ex.Message.ToString());
}
finally
{
mycon.Close(); }
Console.ReadKey();
}
}
}

数据适配:DataAdapter对象概述的更多相关文章

  1. 数据适配 DataAdapter对象

    DataAdapter对象是DataSet和数据源之间的桥梁,可以建立并初始化数据表(即DataTable) 对数据源执行SQL指令,与DataSet对象结合,提供DataSet对象存取数据,可视为D ...

  2. C#与数据库访问技术总结(十五)之 DataAdapter对象代码示例

    DataAdapter对象代码示例 下面的代码将说明如何利用DataAdapter对象填充DataSet对象. private static string strConnect=" data ...

  3. C#与数据库访问技术总结(十四)之DataAdapter对象

    DataAdapter对象 DataAdapter对象主要用来承接Connection和DataSet对象. DataSet对象只关心访问操作数据,而不关心自身包含的数据信息来自哪个Connectio ...

  4. Asp.net内置对象之Request对象(概述及应用)

    Request对象主要用于获取来自客户端的数据,如用户填入表单的数据.保存在客户端的Cookie等,本文将围绕Request对象,讲解其的主要作用:读取窗体变量.读取查询字符串变量.取得Web服务器端 ...

  5. .NET 并行(多核)编程系列之七 共享数据问题和解决概述

    原文:.NET 并行(多核)编程系列之七 共享数据问题和解决概述 .NET 并行(多核)编程系列之七 共享数据问题和解决概述 前言:之前的文章介绍了了并行编程的一些基础的知识,从本篇开始,将会讲述并行 ...

  6. ADO.NET系列之DataAdapter对象

    ADO.NET系列之Connection对象 ADO.NET系列之Command对象 ADO.NET系列之DataAdapter对象 ADO.NET系列之事务和调用存储过程 我们前两篇文章介绍了ADO ...

  7. Unit06: 外部对象概述 、 window 对象 、 document 对象

    Unit06: 外部对象概述 . window 对象 . document 对象 小代码演示: <!DOCTYPE html> <html> <head> < ...

  8. Unit05: JavaScript对象概述 、 常用内置对象一 、 常用内置对象二 、 常用内置对象三

    Unit05: JavaScript对象概述 . 常用内置对象一 . 常用内置对象二 . 常用内置对象三 常用内置对象使用演示: <!DOCTYPE html> <html> ...

  9. DataAdapter对象

    DataAdapter对象在物理数据库表和内存数据表(结果集)之间起着桥梁的作用.它通常与DataTable对象或DataSet对象配合来实现对数据库的操作. DataAdapter对象是一个双向通道 ...

随机推荐

  1. MVC中用jQuery加BootStrap实现动态增加删除文本输入框!

    http://www.freejs.net/article_biaodan_278.html 这是在网上找到方法,我修改了一下实合我的项目,发博只为收藏记录并加深记忆. 修改后效果如下 @model ...

  2. MvvmLight框架使用入门(四)

    本篇我们着重介绍ViewModelBase,演示Set和RaisePropertyChanged方法的使用,以及就Cleanup方法释放资源展开讨论. ICleanup 接口.实现该接口的ViewMo ...

  3. sharepoint 2016 download

     链接: http://pan.baidu.com/s/1pLBwvnt 密码: c928 SharePoint 2016 Server中文版,

  4. brew安装指定版本boost

    brew 如何安装指定版本的boost brew uninstall boost brew install boost@1.57 brew link boost@1.57 --force --over ...

  5. python反转列表的几种方法

    一.使用reversed()函数 a = [1, 2, 3, 4] b = list(reversed(a)) 注意:reversed()函数返回的是一个迭代器,而不是一个List,需要再使用List ...

  6. 《Spark MLlib 机器学习实战》1——读后总结

    1 概念 2 安装 3 RDD RDD包含两种基本的类型:Transformation和Action.RDD的执行是延迟执行,只有Action算子才会触发任务的执行. 宽依赖和窄依赖用于切分任务,如果 ...

  7. java使用Redis2--保存对象

    Redis中并没有提供set(String key, Object obj)的方法,但提供了set(final byte[] key, final byte[] value) 的方法,可以通过把对象转 ...

  8. Ubuntu下实现socks代理转http代理

    代理(英语:Proxy),也称网络代理,是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接.一些网关.路由器等网络设备具备网络代理功能. ...

  9. centos和ubuntu配置路由的三种方式

    本篇总结三种修改路由的方式:route, ip route, 以及通过修改文件来配置路由,前2种命令行形式适用于ubuntu和centos,重启失效,最后一种永久有效.     一. route命令 ...

  10. leetcode 198 打家劫舍 Python 动态规划

    打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警. 给定 ...