过客

路过!
posts - 133, comments - 31, trackbacks - 2, articles - 3
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

公告

2008年11月21日

Code

//构造一个DataView对象,传递死个函数

DataView dv=new DataView(dt,"country='Germany'","country",DataViewRowState.CurrentRows);

第一个参数:DataTable,第二个:对DataTable内容进行筛选的筛选器,

第三个是排序列,最后一个参数是指定要在视图中包含的行的类型.

System.Data.DataViewRowState是一个枚举类型:

Added----新行

CurrentRows----当前行,包含未修改的,修改的,新的

Deleted--被删除的行

ModifiedOriginal--已修改过的原来的版本

ModifiedCurrent--被修改过的当前版本

None-- 没有行

OriginamRows--原来的行。包括为修改的和删除的行

 unchanged--为修改的行

foreach (DataRowView drv in dv)
                {
                    for (int i = 0; i < dv.Table.Columns.Count; i++)
                    {
                        Console.Write(drv[i]+""t");
                    } Console.WriteLine();
                }

 //////////////////////////

DataRow--DataTable中的一行

DataViewRow--DataView中的单行

//DataView是DataTable内容的动态表示,与Sql视图一样,它不保存数据!

DataView是建立在DataTable基础上的,DataView.Table 属性可以得到此DataView对应的那个DataTable。
DataView的行叫DataRowView,
可以从DataRowView直接通过 DataRowView.Row 属性得到此DataRowView对应的DataRow

posted @ 2008-11-21 21:14 过客路过 阅读(898) 评论(1) 编辑

在调用Fill()方法时,如果连接没有打开,fill()就自动打开,在数据填充完毕后关闭它.

如果在调用Fill()方法时打开了连接,fill()就使用该连接,But won't close it after it uesd  it !

虽然数据集完全独立于与数据库和连接,但是使用数据集并不意味着和数据库断开连接.

如果要在断开的情况下运行就可以用数据集,但是在填充他之前不要打开l连接(或者如果连接上打开的就先关闭它.).数据集并不表示在断开或打开连接的操作!

应该在Finally{}中Conn.Close();因为他在已关闭的条件下调用也不会出错!

posted @ 2008-11-21 20:40 过客路过 阅读(221) 评论(0) 编辑

Code

//先创建数据适配器,

SqlDataAdapter da=new SqlDataAdapter();

da.SelectCommand=new SqlCommand(sql,conn);

//创建和填充数据集

DataSet ds=new DataSet();

da.Fill(ds,"Customers");

//每个查询返回一个数据集,每个结果都保存在单独的DataTable中.第一个显示地命名Customers,第二个表达默认名词为Customers1.

//从数据集的Tables属性获得DataTables对象集合

DataTableCollection dtc=ds.Tables;

 在显示第一个表时:

string fl="country='Germany'";//sql where

string srt="CompanyName desc";//sql desc

posted @ 2008-11-21 20:27 过客路过 阅读(407) 评论(0) 编辑

Code

posted @ 2008-11-21 18:54 过客路过 阅读(85) 评论(0) 编辑

Code

posted @ 2008-11-21 15:38 过客路过 阅读(120) 评论(0) 编辑

Code

posted @ 2008-11-21 15:23 过客路过 阅读(32) 评论(0) 编辑

Code

posted @ 2008-11-21 15:22 过客路过 阅读(37) 评论(0) 编辑

Code

posted @ 2008-11-21 15:03 过客路过 阅读(599) 评论(0) 编辑

Code

posted @ 2008-11-21 12:13 过客路过 阅读(54) 评论(0) 编辑

SqlDataReader有Reader和GetValue()方法,前者是提取一行,后者是取行中某一列的值!

eg:

SqlDataReader rdr=cmd.ExecuteReader();

//

Table Northwind.Employees:

While(rdr.Read())

{

 Console.WriteLine("Employee name:{0}{1}",rdr.GetValue(0),rdr.GetValue(1));

}

posted @ 2008-11-21 11:46 过客路过 阅读(233) 评论(0) 编辑

Code

posted @ 2008-11-21 11:26 过客路过 阅读(6) 评论(0) 编辑

Code

posted @ 2008-11-21 11:23 过客路过 阅读(10) 评论(0) 编辑

Code

posted @ 2008-11-21 10:57 过客路过 阅读(91) 评论(0) 编辑

Code

posted @ 2008-11-21 10:54 过客路过 阅读(74) 评论(0) 编辑