如何匯出一張表裡的同字段的多個欄位的值呢?我在這裡用到的是遞迴的方法,那麼問題又來了,什麼是遞迴呢?
顧名思義,遞迴從字面的理解就是一層一層地傳遞下去,其實也是這樣的,遞迴的定義就是:
在函式的定義中使用函式自身的方法。看著這個定義確實難以理解,不過可以理解為迴圈的漸進,在使用遞迴的時候,需要注意的是要定義乙個從函式退出的條件,否則會進入死迴圈。
那麼接下來看一下遞迴的用法,首先來看一下例子的問題和效果圖。
例子:我要在匯出**商資訊的時候,將**商分類分四級匯出excel**。
資料庫表和**商分類的樹形圖:
效果圖:
如上圖,**商小思是在一級預設分類裡面的,而夏鷗是在一級分類預設分類下面的二級分類裡面的**商。
那麼是怎麼做到的呢?
步驟:1、在匯出的時候首先是進行資料的查詢與篩選。
2、然後通過查詢出來的資料拿來foreach迴圈,通過foreach迴圈找出**商名稱和
**商父級id,對**商名稱進行拼接。
3、對拼接好的**商名稱進行分割,判斷**商分類名稱的長度即乙個**商有哪幾個分類
下面。4、最後就對分類名稱賦值(剩下就是匯出資料的常規步驟,在這裡就不多講了,可以看我
的前幾期文獻)。
**:
string suppliertypename = ""; //定義乙個變數來接收**商分類名稱
string suppliertypenameall; //定義乙個變數來接收分割完的分類名稱
//資料查詢&條件篩選
listlistsupplier = (from tbsupplier in mymodels.pw_supplier
join tbsuppliertype in mymodels.sys_suppliertype on tbsupplier.suppliertypeid equals tbsuppliertype.suppliertypeid
orderby tbsupplier.supplierid
select new suppliervo).tolist();
foreach (var item in listsupplier)
catch (exception)
else if (suppliertypenameall.length == 2)
else if (suppliertypenameall.length == 3)
else if (suppliertypenameall.length == 4)
else
break;}}
}
Oracle一張表的多個字段更新到另一張表中去
假設表a中有多個字段 province city 需要從b表獲取 兩張表的mobile一樣 總結了幾種寫法。一 update a set a.province select province from b where b.mobile a.mobile update a set a.city sel...
sql 插入一張表的部分字段需要查詢另一張表
insert into 表a 欄位a,欄位b,欄位c select 欄位a 欄位b 欄位c from 表bwhere 條件insert into 表a 欄位a,欄位b,欄位c,欄位d select 欄位a 要插入的值 例 inserttest 不為在表b查詢到的值 用 包起來表示字串,方法,數值不用...
如何判斷多個字段組成的關鍵字在另外一張表中是否存在
如何判斷多個字段組成的關鍵字在另外一張表中是否存在 老帥 20141107 1.首先判斷乙個關鍵字在另外一張表中是否存在很容易!select from a where a.id inselect b.id from b 2.如果判斷的關鍵字有多個字段構成怎麼辦呢?你不能在in中使用多個字段。如下查詢...