一直在習慣.net的編程思維,或是說C#吧。因為前幾年一直在用php做站,現在用.net很不習慣,主要C#都依賴對控件、類的熟悉,不然很多功能都實現不了。
最近做了一功能,從SQL Server中取出授權記錄,再從Oracle數據庫中(又是Oracle)讀取對應條件的狀態,然后判斷SQL中的授權是否合法。由于SQL中的授權已經實現了,之前是通過人工到ORACLE中查詢是否合法,現打算讓系統自動判斷。
之前是將dataset綁定到repeater控件,現在想到一個辦法就是修改綁定前dataset中的datatable,添加一字段用來判斷是否合法。廢話不多說,貼代碼:
SqlDataAdapter sda = new SqlDataAdapter(cmd); sda.Fill(ds,"tauth"); //注意給ds的表取個別名,方便后面刪除 dt = ds.Tables[0]; dt.Columns.Add("oaHave", typeof(System.String));
OleDbDataAdapter oda = new OleDbDataAdapter(ocmd); oda.Fill(ods); 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(); }
ds.Tables.Remove("tauth"); ds.Tables.Add(dt); //綁定DS到Repeater rptAuth.DataSource = ds; rptAuth.DataBind();
沒怎么用,但是大概了解dataset、datatable的使用方法,像排序、刪除行、添加行這些都可以比較靈活地實現。
只是注意一點:如果是綁定到repeater控件,那么這些修改完成后的datatable,需要重新寫入dataset。
新聞熱點
疑難解答