一直在习惯.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。

最新文章

  1. Masonry 当需要把某个控件进行隐藏的时候有警告的解决方案
  2. 安卓开发, 遇到WebView不能加载静态网页, WebView显示 &quot;net::ERR_PROXY_CONNECTON_FAILED&quot;
  3. Spring-dispatcherServlet
  4. MySQL 索引详解大全
  5. mysql概要(十三)备份和恢复
  6. [转载] iptables配置实践
  7. If-Modified-Since &amp; If-None-Match
  8. pagination jquery最简单的分页【无刷新和刷新都通用】
  9. wince平台下使用log4net记录日志
  10. LeetCode #139. Word Break C#
  11. Vue.js动画在项目使用的两个示例
  12. SQL查询操作及子句优先级
  13. 详解 $().css(&#39;width&#39;)和$().width()的区别
  14. Null value was assigned to a property of primitive type setter of com.oa.manager.personnel.bean.KqAttendanceHoliday.dayType
  15. JSJ——主数据类型和引用
  16. Bootstrap学习记录-2.container和table
  17. [系统软件]Ubuntu 18.04中的Shutter禁用了“编辑”选项解决
  18. WAS 添加数据源
  19. 分分钟弄明白UML中泛化 , 实现 , 关联, 聚合, 组合, 依赖
  20. Mysql - 参数修改

热门文章

  1. Java 在指定目录建立指定文件名的文件 并输入内容
  2. 帝国cms内容批量替换
  3. java 读写properties
  4. CLR via C# 3rd - 05 - Primitive, Reference, and Value Types
  5. MCMC: The Metropolis Sampler
  6. QT5学习过程的小问题集锦
  7. Java框架重量级,轻量级的问题?
  8. iOS开发ARC内存管理技术要点
  9. 无法识别的配置节 connectionStrings
  10. 【转载】ANSYS TRANSIENT ANSLYSIS [2]