六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

一種從數(shù)據(jù)庫(kù)使用xml創(chuàng)建樹(shù)型目錄的方法(C#)(一

[摘要]引言:無(wú)線項(xiàng)目開(kāi)發(fā)中,項(xiàng)目需求要對(duì)無(wú)線的服務(wù)項(xiàng)目追加額外參數(shù),所以需要解析那邊的xml數(shù)據(jù)(如何獲得xml數(shù)據(jù)我已經(jīng)在其它的文章中寫(xiě)過(guò)了),然后再按照一定的規(guī)律存到本地庫(kù)(無(wú)線那邊提供的xml數(shù)據(jù)需要通過(guò)一定的轉(zhuǎn)化過(guò)程才能得到我們想要的東西)并重新構(gòu)造一個(gè)xml樹(shù)型目錄出來(lái)。本文便要提供一種簡(jiǎn)便的...
引言:

無(wú)線項(xiàng)目開(kāi)發(fā)中,項(xiàng)目需求要對(duì)無(wú)線的服務(wù)項(xiàng)目追加額外參數(shù),所以需要解析那邊的xml數(shù)據(jù)(如何獲得xml數(shù)據(jù)我已經(jīng)在其它的文章中寫(xiě)過(guò)了),然后再按照一定的規(guī)律存到本地庫(kù)(無(wú)線那邊提供的xml數(shù)據(jù)需要通過(guò)一定的轉(zhuǎn)化過(guò)程才能得到我們想要的東西)并重新構(gòu)造一個(gè)xml樹(shù)型目錄出來(lái)。本文便要提供一種簡(jiǎn)便的方法實(shí)現(xiàn)從數(shù)據(jù)庫(kù)生成xml文檔,進(jìn)而用xslt解析成樹(shù)型目錄的方案。



設(shè)計(jì)方案:

一、數(shù)據(jù)庫(kù)

 

Mobile_ServiceType 服務(wù)類型

Field
DataType
Default
Description

ServiceTypeID
int
Identity
ID

ParentID
Int
0
父類型ID

MetoneServiceTypeID
Int
0
類型ID

ServiceTypeName
int
0
服務(wù)類型名稱




一點(diǎn)說(shuō)明:這個(gè)表存放的是服務(wù)類型名稱及類型之間的關(guān)系的,MetoneServiceTypeID是當(dāng)前信息的ID,這里沒(méi)有使用ServiceTypeID 作為當(dāng)前節(jié)點(diǎn)的ID是因?yàn)楫?dāng)前節(jié)點(diǎn)ID是不可以隨便改變的,而且這個(gè)ID決定了收費(fèi)標(biāo)準(zhǔn),所以獨(dú)立設(shè)定此字段的,不過(guò)從技術(shù)層面來(lái)講設(shè)置誰(shuí)為當(dāng)前節(jié)點(diǎn)并沒(méi)有什么不同,ParentID是類型的父類型ID。

二、存儲(chǔ)過(guò)程:

/**********************************

功能:根據(jù)一定條件讀取類型記錄

作者:Rexsp

創(chuàng)建日期:2004-03-24

修改者:

修改日期:

**********************************/

ALTER PROCEDURE GetMobileServiceType

(

@Action NVARCHAR(20)='Complex',

@ServiceTypeID INT=-1,

@ServiceTypeName NVARCHAR(50)=null,

@MetoneServiceTypeID INT=-1,

@ParentID INT=-1

)

AS

SET NOCOUNT ON

IF(@Action='Complex')

BEGIN

--省略N行與本篇無(wú)關(guān)的代碼

END

IF(@Action='GetTree')

BEGIN

SELECT

MetoneServiceTypeID,

ServiceTypeName,

ParentID,

URL='MobileSetting.aspx?ID='+CAST(MetoneServiceTypeID AS NVARCHAR(4))

FROM [Mobile_ServiceType]

END

一點(diǎn)解釋:存儲(chǔ)過(guò)程有兩部分,前半部分是為了一個(gè)復(fù)雜查詢?cè)O(shè)計(jì)的,后面的是構(gòu)建xml樹(shù)設(shè)置的。這里是通過(guò)一個(gè)@Actoin變量來(lái)控制跳入哪個(gè)部分的,另外這里的代碼我簡(jiǎn)化處理了,真實(shí)環(huán)境中會(huì)根據(jù)另外一個(gè)表的設(shè)置來(lái)動(dòng)態(tài)生成不同的xml樹(shù)的。

三、COM層代碼就列了,總體層次是三層架構(gòu),這我在專欄中也有提過(guò)。這里只給出幾個(gè)相關(guān)的COM層類的接口和功能說(shuō)明。

MobileServiceTypeCollection提供各種搜索條件得出的數(shù)據(jù)集,里面有一個(gè)方法,返回一個(gè)DataSet,調(diào)用的SP就是上面提供的那個(gè):

/// <summary>

/// 獲取生成美類型列表相關(guān)數(shù)據(jù)

/// </summary>

/// <param name="dataSet">類型列表數(shù)據(jù)集</param>

/// <returns>成功返回true,失敗返回false;</returns>

public bool GetMetoneTree(out DataSet dataSet)

{

//創(chuàng)建Adapter對(duì)象

SqlDataAdapter dataAdapter = null;

//創(chuàng)建data對(duì)象和params

Database data = new Database("Town");

SqlParameter[] prams ={data.MakeInParam("@Action",SqlDbType.NVarChar,20,"GetTree")};

try

{

data.RunProc("GetMobileServiceType", prams, out dataAdapter);

dataSet = new DataSet();

dataAdapter.Fill(dataSet,"Tree");

dataAdapter.Dispose();

return true;

}

catch (Exception ex)

{

dataSet = null;

Error.Log("Town", ex.ToString());

return false;

}

finally

{

dataAdapter.Dispose();

data.Close();

data.Dispose();

}

}




主站蜘蛛池模板: 色综合色综合色综合色综合网 | 香蕉国产成版人视频在线观看 | 亚洲成 人a影院青久在线观看 | 亚洲国产另类久久久精品小说 | 午夜不卡在线 | 色91视频| 日本成人黄色网址 | 亚洲成人网在线播放 | 欧美亚洲性色影视在线 | 日韩中文字幕在线 | 日本国产欧美 | 天堂v亚洲国产v一区二区 | 伊人| 亚洲精品在线视频 | 亚洲精品视频在线观看你懂的 | 手机看片自拍自拍 | 日本中文在线 | 青草九九| 中文在线观看免费网站 | 天堂网在线www资源网 | 日韩不卡一二三区 | 午夜亚洲一区二区福利 | 日日操视频 | 日韩高清在线播放不卡 | 天堂中文在线网 | 中文黄色 | 欧美在线免费播放 | 视频一区二区三区蜜桃麻豆 | 最新韩国伦理片大全手机在线播放 | 亚洲男人天堂网 | 亚洲精品福利你懂 | 亚洲视频第一页 | 欧美一区二区三区东南亚 | 碰91精品国产91久久婷婷 | 日本邪恶全彩 | 日韩国产欧美成人一区二区影院 | 日韩每日更新 | 青草国产 | 色狠狠色狠狠综合天天 | 深夜视频在线播放视频在线观看免费观看 | 中文字幕在线精品不卡 |