澳门太阳娱乐集团官网-太阳集团太阳娱乐登录

.NET DataSet、DataTable操作记录
分类:脚本专栏

一直在习惯.net的编程思维,或是说C#吧。因为前几年一直在用PHP做站,现在用.net很不习惯,主要C#都依赖对控件、类的熟悉,不然很多功能都实现不了。

     DataSet ds = new DataSet();
DataTable dt = new DataTable("OrderList");
dt.Columns.Add(new DataColumn("ID", typeof;
dt.Columns.Add(new DataColumn("FLMC", typeof;
dt.Columns.Add(new DataColumn("TJSJ", typeof;
ds.Tables.Add;
DataRow dr = ds.Tables[0].NewRow();
dr[0] =1;
dr[1] = "建筑安装工程造价指标分析表";
dr[2] = "";
ds.Tables[0].Rows.Add;
dr = ds.Tables[0].NewRow();
dr[0] =2;
dr[1] = "建筑安装工程主要工料指标分析表";
dr[2] = "";
ds.Tables[0].Rows.Add;
dr = ds.Tables[0].NewRow();
dr[0] =3;
dr[1] = "人材机分析表";
dr[2] = "";
ds.Tables[0].Rows.Add;
DataGrid1.DataSource = ds.Tables[0].DefaultView;
DataGrid1.DataBind();

需求

最近做了一功能,从SQL Server中取出授权记录,再从Oracle数据库中读取对应条件的状态,然后判断SQL中的授权是否合法。由于SQL中的授权已经实现了,之前是通过人工到ORACLE中查询是否合法,现打算让系统自动判断。

方法

之前是将dataset绑定到repeater控件,现在想到一个办法就是修改绑定前dataset中的datatable,添加一字段用来判断是否合法。废话不多说,贴代码:

  • 获取SQL的表,并添加一新列
SqlDataAdapter sda = new SqlDataAdapter;                sda.Fill(ds,"tauth");  //注意给ds的表取个别名,方便后面删除                dt = ds.Tables[0];                dt.Columns.Add("oaHave", typeof(System.String));
  • 获取ORACLE的数据
OleDbDataAdapter oda = new OleDbDataAdapter;                oda.Fill;                odt = ods.Tables[0];
  • 循环判断是否合法
 for (int i = 0; i < dt.Rows.Count; i++) {                    dr = dt.Rows[i];                    dr.BeginEdit();                    for (int j = 0; 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;            //绑定DS到Repeater            rptAuth.DataSource = ds;            rptAuth.DataBind();

其它功能

没怎么用,但是大概了解dataset、datatable的使用方法,像排序、删除行、添加行这些都可以比较灵活地实现。

只是注意一点:如果是绑定到repeater控件,那么这些修改完成后的datatable,需要重新写入dataset。

本文由澳门太阳娱乐集团官网发布于脚本专栏,转载请注明出处:.NET DataSet、DataTable操作记录

上一篇:太阳集团太阳娱乐登录PyQt5--EventHandler 下一篇:没有了
猜你喜欢
热门排行
精彩图文