原文链接:https://blog.csdn.net/zhang_hui_cs/article/details/7327395

using System.Data;

using System.Data.SqlClient;

//SqlDataAdapter的MSDN网站:http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldataadapter.aspx

//DataTable的MSDN网站:http://msdn.microsoft.com/en-us/library/system.data.datatable.aspx

//DataSet的MSDN网站: http://msdn.microsoft.com/en-us/library/system.data.dataset.aspx

//DataSets, DataTables, and DataViews (ADO.NET): http://msdn.microsoft.com/en-us/library/ss7fbaez.aspx

namespace Chapter13

{

class FilterSort

{

static void Main(string[] args)

{

// connection string

string connString = @"

server = .;

integrated security = true;

database = northwind

";

// query 1

string sql1 = @" select      *    from    customers   ; ";

// query 2

string sql2 = @"     select    *   from   products   where     unitprice < 10    ";

// combine queries

string sql = sql1 + sql2;

// create connection

SqlConnection conn = null;

try

{

conn = new SqlConnection(connString);

// create data adapter

SqlDataAdapter da = new SqlDataAdapter(sql, conn);

// create and fill data set

DataSet ds = new DataSet();

/*

* 如果SqlDataAdapter对应的sql语句返回多个数据集,

* 则SqlDataAdapter对应的DataTable名

* 会被依次命名为"Table", "Table1","Table2"……

* 如下调用得到的将会把"Table"对应着"Customers",

* "Table1"对应着"Products"

*/

da.TableMappings.Add("Table", "Customers");

da.TableMappings.Add("Table1", "Products");

da.Fill(ds);

// get the data tables collection

DataTableCollection dtc = ds.Tables;

//输出DataTableCollection中所有表的表名。

System.Console.WriteLine("DataTable in the DataTableCollection: ");

foreach (DataTable dt in dtc)

{

System.Console.WriteLine("\t{0}", dt.ToString());

}

// display data from first data table

//

// display output header

System.Console.WriteLine("Results from Customers table:");

System.Console.WriteLine(

"CompanyName".PadRight(20) +

"ContactName".PadLeft(23) + "\n");

// set display filter

string fl = "country = 'Germany'";

// set sort

string srt = "companyname asc";

foreach (DataRow row in dtc["Customers"].Select(fl, srt))   //  dtc["Customers"] 是DataTable , 看为内存的一张数据库表 , 按照条件+排序查询

{

System.Console.WriteLine(

"{0}\t{1}",

row["CompanyName"].ToString().PadRight(25),

row["ContactName"]);

}

// display data from second data table

//

// display output header

System.Console.WriteLine("\n----------------------------");

System.Console.WriteLine("Results from Products table:");

System.Console.WriteLine(

"ProductName".PadRight(20) +

"UnitPrice".PadLeft(21) + "\n");

//下句中dtc["Products"]中还可以按照表索引值访问,等价于dtc[1]

foreach (DataRow row in dtc["Products"].Rows)

{

System.Console.WriteLine("{0}\t{1}",

row["productname"].ToString().PadRight(25),

row["unitprice"]);

}

}

catch (System.Exception e)

{

System.Console.WriteLine("Error: " + e);

}

finally

{

// close connection

conn.Close();

}

}

}

}

SqlDataAdapter、DataSet、DataTable使用的更多相关文章

  1. sqldataAdapter/dataset/datatable的使用

    public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Loa ...

  2. C#使用DataSet Datatable更新数据库的三种实现方法

    本文以实例形式讲述了使用DataSet Datatable更新数据库的三种实现方法,包括CommandBuilder 方法.DataAdapter 更新数据源以及使用sql语句更新.分享给大家供大家参 ...

  3. ADO.NET基础知识学习(SQLCOnnection&SQLCommand&SQLDataReader&SQLDataAdapter&DataSet)

    通过ADO.NET技术,我们可以高效的完成客户端同数据库之间的数据访问操作,便于我们在客户端程序简便高效的访问以及获取数据库中的有用数据,同时也可以对数据库中的数据进行更新,即可以完成客户端与数据库之 ...

  4. 手写DataSet,DataTable

    一:DataSet DataSet ds = new DataSet();//创建DataSet DataTable dt = new DataTable();//创建一个DataTalbe dt.C ...

  5. DataSet DataTable操作

    DataSet ds = new DataSet();            DataTable dt = new DataTable("OrderList");          ...

  6. [Json] C#ConvertJson|List转成Json|对象|集合|DataSet|DataTable|DataReader转成Json (转载)

    点击下载 ConvertJson.rar 本类实现了 C#ConvertJson|List转成Json|对象|集合|DataSet|DataTable|DataReader转成Json|等功能大家先预 ...

  7. DataSet,DataTable,DataColumn,DataRow的常用操作

    DataSet 这个玩意没什么好讲的,当ado.net查询出有多张表集合的数据返回时,这个时候就会使用到DataSet. DataTable //表之间直接赋值 dt2=dt1; 两者指向同一内存空间 ...

  8. 【C#-批量插入数据到数据库】DataTable数据批量插入数据的库三种方法:SqlCommand.EcecuteNonQurery(),SqlDataAdapter.Update(DataTable) ,SqlBulkCopy.WriteToServer(Datatable)

    第一种方法:使用SqlCommand.EcecuteNonQurery()  效率最慢 第二种方法:使用SqlDataAdapter.Update(DataTable)   效率次之 第三种方法:使用 ...

  9. DataSet,DataTable排序(转载)

    DataSet,DataTable排序   关于对已经绑定的DataSet的排序的问题: DataSet ds=new DataSet();DataView dv=new DataView();dv. ...

  10. 使用DataSet Datatable 更新数据库的三种方式

    1:自动生成命令的条件 CommandBuilder 方法a)动态指定 SelectCommand 属性b)利用 CommandBuilder 对象自动生成 DataAdapter 的 DeleteC ...

随机推荐

  1. Jmeter-集合点与关联

    1.集合点 添加同步定时器(Synchronizing Timer) 注意:集合点需要放在需要集合的元件前面 2.关联 预先使用Badboy录制WebTours登录脚本 在登录前插入一个监听器:察看结 ...

  2. 402 WebEx会议教程二 —— 召开会议

    ··· WebEx会议教程二 —— 召开会议 简介:召开一个WebEx会议,并邮件邀请其他人参加会议 1.  安装快捷会议工具,将WebEx按钮集成到Outlook中.    WebEx快捷会议工具- ...

  3. 刷题76. Minimum Window Substring

    一.题目说明 题目76. Minimum Window Substring,求字符串S中最小连续字符串,包括字符串T中的所有字符,复杂度要求是O(n).难度是Hard! 二.我的解答 先说我的思路: ...

  4. Java时间格式字符串与Date的相互转化

    目录 将Date转化为格式化字符串 时间格式字符串转化为Date @ 将Date转化为格式化字符串 将Date转化为格式化字符串是利用SimpleDateFormat类继承自 java.text.Da ...

  5. SpringBoot学习- 4、整合JWT

    SpringBoot学习足迹 1.Json web token(JWT)是为了网络应用环境间传递声明而执行的一种基于JSON的开发标准(RFC 7519),该token被设计为紧凑且安全的,特别适用于 ...

  6. FOJ-2013 A Short Problem (前缀和)

    Problem Description The description of this problem is very short. Now give you a string(length N), ...

  7. 【动态规划】【C/C++】简单的背包问题

    简单的背包问题 背包问题动态规划中非常经典的一个问题,本文只包含01背包,完全背包和多重背包.更加详尽的背包问题的讲解请参考崔添翼大神的<背包九讲> 简单的01背包 问题导入:新年到了,m ...

  8. 【Unity|C#】基础篇(7)——属性(Property)/ 索引器(Indexer)

    [学习资料] <C#图解教程>(第6章):https://www.cnblogs.com/moonache/p/7687551.html 电子书下载:https://pan.baidu.c ...

  9. matlab 霍夫变换—检测圆

    function [hough_space,hough_circle,para] = hough_Circle(BW,step_r,step_angle,r_min,r_max,p) % %%%%%% ...

  10. Data Manipulation with dplyr in R

    目录 select The filter and arrange verbs arrange filter Filtering and arranging Mutate The count verb ...