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

明輝手游網(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();

}

}




主站蜘蛛池模板: 日韩欧美国产综合 | 人人干在线观看 | 日日夜夜精品免费视频 | 五月综合激情网 | 真实国产乱子伦精品一区二区三区 | 青青草成人免费在线视频 | 日韩一及片| 日本大片在线免费观看 | 青春草视频在线播放 | 五月花激情网 | 伊人影视传媒有限公司 | 五月天久久久 | 日本三级在线播放线观看2021 | 日本欧美视频在线 | 日韩精品视频在线免费观看 | 色妇色综合久久夜夜 | 我要看黄色一级片 | 亚洲成在人线中文字幕 | 全免费a级毛片免费看不卡 全黄一级片 | 色播丁香| 日韩欧美高清在线观看 | 伊人五月天婷婷 | 中文字幕高清免费不卡视频 | 午夜老司机在线观看 | 香蕉大成网人站在线 | 亚洲天堂免费观看 | 天干天干天啪啪夜爽爽色 | 一区二区三区在线视频播放 | 日韩成人在线免费视频 | 色射色| 日韩 欧美 中文字幕 不卡 | 中文日韩字幕一区在线观看 | 青草视频久久 | 日韩精品视频免费在线观看 | 四虎影视最新 | 午夜网站免费版在线观看 | 一区二区三区在线 | 网站 | 亚洲精品在线观看视频 | 日韩欧美大片 | 日韩版码免费福利视频 | 日本成人h动漫 |