SqlDataAdapter、DataSet、DataTable使用
原文链接: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使用的更多相关文章
- sqldataAdapter/dataset/datatable的使用
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Loa ...
- C#使用DataSet Datatable更新数据库的三种实现方法
本文以实例形式讲述了使用DataSet Datatable更新数据库的三种实现方法,包括CommandBuilder 方法.DataAdapter 更新数据源以及使用sql语句更新.分享给大家供大家参 ...
- ADO.NET基础知识学习(SQLCOnnection&SQLCommand&SQLDataReader&SQLDataAdapter&DataSet)
通过ADO.NET技术,我们可以高效的完成客户端同数据库之间的数据访问操作,便于我们在客户端程序简便高效的访问以及获取数据库中的有用数据,同时也可以对数据库中的数据进行更新,即可以完成客户端与数据库之 ...
- 手写DataSet,DataTable
一:DataSet DataSet ds = new DataSet();//创建DataSet DataTable dt = new DataTable();//创建一个DataTalbe dt.C ...
- DataSet DataTable操作
DataSet ds = new DataSet(); DataTable dt = new DataTable("OrderList"); ...
- [Json] C#ConvertJson|List转成Json|对象|集合|DataSet|DataTable|DataReader转成Json (转载)
点击下载 ConvertJson.rar 本类实现了 C#ConvertJson|List转成Json|对象|集合|DataSet|DataTable|DataReader转成Json|等功能大家先预 ...
- DataSet,DataTable,DataColumn,DataRow的常用操作
DataSet 这个玩意没什么好讲的,当ado.net查询出有多张表集合的数据返回时,这个时候就会使用到DataSet. DataTable //表之间直接赋值 dt2=dt1; 两者指向同一内存空间 ...
- 【C#-批量插入数据到数据库】DataTable数据批量插入数据的库三种方法:SqlCommand.EcecuteNonQurery(),SqlDataAdapter.Update(DataTable) ,SqlBulkCopy.WriteToServer(Datatable)
第一种方法:使用SqlCommand.EcecuteNonQurery() 效率最慢 第二种方法:使用SqlDataAdapter.Update(DataTable) 效率次之 第三种方法:使用 ...
- DataSet,DataTable排序(转载)
DataSet,DataTable排序 关于对已经绑定的DataSet的排序的问题: DataSet ds=new DataSet();DataView dv=new DataView();dv. ...
- 使用DataSet Datatable 更新数据库的三种方式
1:自动生成命令的条件 CommandBuilder 方法a)动态指定 SelectCommand 属性b)利用 CommandBuilder 对象自动生成 DataAdapter 的 DeleteC ...
随机推荐
- cmdb实现三种方式
为什么要做CMDB? 1.实现运维自动化,CMDB是实现运维自动化的基石 2.之前做资产统计的时候,使用execl来统计,为了年底资产审计方便 3.运维日常工作繁琐, 4.运行环境不统一 Agent方 ...
- ubuntu安装配置heirloom-mailx使用外部smtp发送外网email
1- 安装 1.1- 添加heirloom-mailx apt源 cat /etc/apt/sources.list.d/mailx.list deb http://cz.archive.ubuntu ...
- 【Unity|C#】基础篇(13)——特性(Attribute)
[学习资料] <C#图解教程>(第24章):https://www.cnblogs.com/moonache/p/7687551.html 电子书下载:https://pan.baidu. ...
- 【C语言】【欢哥TV】冒泡法排序视频演示
fromB站 点击进入:Go
- Ubuntu中chrome浏览器安装、卸载
一.卸载 sudo apt-get autoremove google-chrome-stable 删除下载源:sudo rm /etc/apt/sources.list.d/google-chrom ...
- PHPstorm配置xdebug问题小记
安装的是符合自己环境的xdebug,因为是按照xdebug官网的步骤安装的:安装什么版本检测地址:https://xdebug.org/wizard.php,安装操作复制phpinfo()内容之后点击 ...
- 2020牛客寒假算法基础集训营1 J. 缪斯的影响力 (矩阵快速幂/费马小定理降幂)
https://ac.nowcoder.com/acm/problem/200658 f(n) = f(n-1) * f(n-2) * ab ,f的第一项是x,第二项是y. 试着推出第三项是x·y·a ...
- JUC-LOCK接口
Synchronized 1.多线程编程模版上 (1)线程 操作 资源类 (2)高内聚低耦合 2.实现步骤 (1)创建资源类 (2)资源类里创建同步方法,同步代码块 3.例子:卖票 LOCK 接口 锁 ...
- C#.net连接Sybase的方法
一 .ODBC方式连接 1 安装Sybase客户端,安装ODBC驱动,配置DSN<略> 2 连接代码 string strconn = "DSN=TEST;SRVR=TEST;D ...
- Linux - Shell - 免密码登录
概述 简述 linux ssh 无密码登录 无能狂怒 最近真是不知道写啥了 环境 os centos7 1. 场景 场景 主机A 需要经常访问 主机B 每次访问, 都要输入一次 密码 问题 每次都输密 ...