.NET DataSet、DataTable操作记录
一直在习惯.net的编程思维,或是说C#吧。因为前几年一直在用PHP做站,现在用.net很不习惯,主要C#都依赖对控件、类的熟悉,不然很多功能都实现不了。
需求
最近做了一功能,从SQL Server中取出授权记录,再从Oracle数据库中(又是Oracle)读取对应条件的状态,然后判断SQL中的授权是否合法。由于SQL中的授权已经实现了,之前是通过人工到ORACLE中查询是否合法,现打算让系统自动判断。
方法
之前是将dataset绑定到repeater控件,现在想到一个办法就是修改绑定前dataset中的datatable,添加一字段用来判断是否合法。废话不多说,贴代码:
- 获取SQL的表,并添加一新列
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(ds,"tauth"); //注意给ds的表取个别名,方便后面删除 dt = ds.Tables[];
dt.Columns.Add("oaHave", typeof(System.String));
- 获取ORACLE的数据
OleDbDataAdapter oda = new OleDbDataAdapter(ocmd);
oda.Fill(ods);
odt = ods.Tables[];
- 循环判断是否合法
for (int i = ; i < dt.Rows.Count; i++) {
dr = dt.Rows[i];
dr.BeginEdit();
for (int j = ; j < odt.Rows.Count; j++) {
odr = odt.Rows[j];
if (dr["fname"].ToString() == odr["lastname"].ToString()) {
msg = dr["fname"].ToString();
dr["oaHave"] = "有";
}
}
dr.EndEdit();
}
- 删除dataset已存在的表,再添加更新后的datatable
ds.Tables.Remove("tauth");
ds.Tables.Add(dt);
//绑定DS到Repeater
rptAuth.DataSource = ds;
rptAuth.DataBind();
其它功能
没怎么用,但是大概了解dataset、datatable的使用方法,像排序、删除行、添加行这些都可以比较灵活地实现。
只是注意一点:如果是绑定到repeater控件,那么这些修改完成后的datatable,需要重新写入dataset。
.NET DataSet、DataTable操作记录的更多相关文章
- DataSet DataTable操作
DataSet ds = new DataSet(); DataTable dt = new DataTable("OrderList"); ...
- C# LINQ系列:LINQ to DataSet的DataTable操作 及 DataTable与Linq相互转换
LINQ to DataSet需要使用System.Core.dll.System.Data.dll和System.Data.DataSetExtensions.dll,在项目中添加引用System. ...
- DataSet,DataTable,DataColumn,DataRow的常用操作
DataSet 这个玩意没什么好讲的,当ado.net查询出有多张表集合的数据返回时,这个时候就会使用到DataSet. DataTable //表之间直接赋值 dt2=dt1; 两者指向同一内存空间 ...
- C#使用DataSet Datatable更新数据库的三种实现方法
本文以实例形式讲述了使用DataSet Datatable更新数据库的三种实现方法,包括CommandBuilder 方法.DataAdapter 更新数据源以及使用sql语句更新.分享给大家供大家参 ...
- dataset datatable datacolums datarow
DataSet 表示数据在内存中的缓存. 属性 Tables 获取包含在 DataSet 中的表的集合. ds.Tables["sjxx"] DataTable 表示内存中数据的 ...
- 什么叫强类型的DATASET ?对DATASET的操作处理?强类型DataSet的使用简明教程
强类型DataSet,是指需要预先定义对应表的各个字段的属性和取值方式的数据集.对于所有这些属性都需要从DataSet, DataTable, DataRow继承,生成相应的用户自定义类.强类型的一个 ...
- Spark Dataset DataFrame 操作
Spark Dataset DataFrame 操作 相关博文参考 sparksql中dataframe的用法 一.Spark2 Dataset DataFrame空值null,NaN判断和处理 1. ...
- centos 6x系统下源码安装mysql操作记录
在运维工作中经常部署各种运维环境,涉及mysql数据库的安装也是时常需要的.mysql数据库安装可以选择yum在线安装,但是这种安装的mysql一般是系统自带的,版本方面可能跟需求不太匹配.可以通过源 ...
- Mysql更换MyISAM存储引擎为Innodb的操作记录
一般情况下,mysql会默认提供多种存储引擎,可以通过下面的查看: 1)查看mysql是否安装了innodb插件.通过下面的命令结果可知,已经安装了innodb插件. mysql> show p ...
随机推荐
- CNN 入门学习资料整理
建议按序阅读 1. Convolutional Neural Networks卷积神经网络: http://blog.csdn.net/zouxy09/article/details/8781543 ...
- web新内容
利用css完成如图的排版 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http: ...
- http权威指南
我的plan :one day two hour,one week done!!!争取不超过2周看完
- Map练习错误
private Student findStuByNumber(String number) { Student student=null ; for(Stude ...
- javascript知识点之DOM与window对象
在学习javascript过程中只是一知半解好多,碰到自己不知道属性方法,到最后都不知道自己学到了什么 js代码为什么这样写 为什么你知道这方法或属性可以这样用. DOM和window对象 DOM基本 ...
- 转:各种Adapter的用法
各种Adapter的用法 同样是一个ListView,可以用不同的Adapter让它显示出来,比如说最常用的ArrayAdapter,SimpleAdapter,SimpleCursorAdapt ...
- tcpdf最新版 6.2版
tcpdf6.2版,地址记 录 http://download.csdn.net/detail/hayywcy/9547873
- Struts2.3.15.1源码浅析
Struts2 两大运行主线: 1.初始化主线:初始化主线主要是为Struts2创建运行环境(此处的环境与Struts2身处的Web环境是有区别的),初始化入口StrutsPrepareAndExec ...
- How to create/restore a slave using GTID replication in MySQL 5.6
MySQL 5.6 is GA! Now we have new things to play with and in my personal opinion the most interesting ...
- vnc--centos 7 安装和配置
安装步骤: 1.首先试试服务器装了 VNC 没 rpm -q tigervnc tigervnc-server 没安装的话会直接出现package tigervnc is not installedp ...