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 ...
随机推荐
- 【你不知道的javaScript 上卷 笔记3】javaScript中的声明提升表现
console.log( a ); var a = 2; 执行输出undefined a = 2; var a; console.log( a ); 执行输出2 说明:javaScript 运行时在编 ...
- JAVA类(内部类、匿名内部类、异常、自定义异常)
内部类 package AA; public class 类 { ; StringBuffer dee=new StringBuffer(); public class 成员内部类{ public v ...
- vue配置开发,测试,生产环境api
npm run build 调用开发环境接口,打包开发环境npm run build:test 调用测试环境接口,打包测试环境npm run build:prod 调用生产环境接口,打包生产环境 vu ...
- [SDOI2013] 直径 - 树形dp
对于给定的一棵树,其直径的长度是多少,以及有多少条边满足所有的直径都经过该边. Solution 有点意思 先随便求一条直径(两次DFS即可),不妨设为 \(s,t\),我们知道要求的这些边一定都在这 ...
- Abp的swagger UI 出现Failed to load API definition.
Abp 出现Failed to load API definition.如下图: 原因:本次出现的原因是Api里面的方法重名了(只是方法的参数不一样)(可能是controller中的auction上面 ...
- 2020牛客寒假算法基础集训营3 G.牛牛的Link Power II (树状数组维护前缀和)
https://ac.nowcoder.com/acm/contest/3004/G 发现每个“1”对于它本身位置产生的影响贡献为0,对前面的“1”有产生贡献,对后面的"1"也产生 ...
- python笔记-02
Python基础知识 —————————————— A,B,先把A乘以3,然后加上B,最后在加上列表A A = [1, 2, 3, 4, 5, 6] 赋值 B = [1, 2, 3] 变量 定义一个变 ...
- AUI前端框架总结
AUI 是Apicloud 的手机端UI第三方,需要引入Apicloud和AUI中的css样式和js框架 **首先:手机项目必须配置config.xml文件 Apicloud官网有详解 ** 其次:程 ...
- Codeforces Round #614 (Div. 2) C - NEKO's Maze Game
题目链接:http://codeforces.com/contest/1293/problem/C 题目:给定一个 2*n的地图,初始地图没有岩浆,都可以走, 给定q个询问,每个询问给定一个点(x,y ...
- 学习 Rust cookbook 之算法篇(algorithm)
原文作者:suhanyujie 永久链接:https://github.com/suhanyujie/rust-cookbook-note 博客链接:https://ishenghuo.cnblogs ...