欧美黄色美女视频-日韩aaa久久蜜桃av-护士奶头又大又软又好摸-性久久久久久久久久-午夜福利92国语-456欧美成人免费视频-天天躁日日躁aaaxxⅹ-国产精品青青草-久久不见久久见免费影院-国模大尺度福利视频在线-69大东北熟妇高潮呻吟-亚洲精品一区av在线播放-91av 视频-亚洲成人免费影院-你懂的网址国产,欧美-成年女人色毛片

快消品貨源批發(fā)市場
快消品貨源分銷平臺
 
 
當(dāng)前位置: 貨源批發(fā)網(wǎng) » 網(wǎng)商學(xué)院 » 獨立商城 » SQL Server 2000層次數(shù)據(jù)查詢的實現(xiàn)方法

SQL Server 2000層次數(shù)據(jù)查詢的實現(xiàn)方法

放大字體  縮小字體 發(fā)布日期:2025-10-28 03:07:43  來源:電商聯(lián)盟  作者:樂發(fā)網(wǎng)  瀏覽次數(shù):17

以C#為前端,SQL Server 2000層次數(shù)據(jù)查詢是如何實現(xiàn)的呢?本文我們主要就介紹這部分內(nèi)容,接下來就讓我們一起來了解一下這一過程吧。
//層次數(shù)據(jù)實體
public class ComLevelDataEntity
{
public ComLevelDataEntity()
{
searchLevel = 0;
startWithRoot = true;
dataObjectAlias = "t";
}
private int searchLevel;
/// <summary>
/// 查詢層次
/// </summary>
public int SearchLevel
{
get { return searchLevel; }
set { searchLevel = value; }
}

private string dataObjectAlias;
/// <summary>
/// 別名
/// </summary>
public string DataObjectAlias
{
get { return dataObjectAlias; }
set { dataObjectAlias = value; }
}
private string protasis;
/// <summary>
/// 條件從句
/// </summary>
public string Protasis
{
get
{
return string.IsNullOrEmpty(protasis) ? string.Empty : string.Concat(" and ", protasis);
}
set { protasis = value; }
}

private bool startWithRoot;
/// <summary>
/// 整樹搜索
/// </summary>
public bool StartWithRoot
{
get { return startWithRoot; }
set { startWithRoot = value; }
}
private string dataObjectName;
/// <summary>
/// 數(shù)據(jù)對象名稱
/// </summary>
public string DataObjectName
{
get { return dataObjectName; }
set { dataObjectName = value; }
}

private int cascadeLevel;
/// <summary>
/// 層級
/// </summary>
public int CascadeLevel
{
get { return cascadeLevel; }
set { cascadeLevel = value; }
}

private string displayFieldName;
/// <summary>
/// 顯示字段名稱
/// </summary>
public string DisplayFieldName
{
get { return displayFieldName; }
set { displayFieldName = value; }
}

private string keyFieldName;
/// <summary>
/// 鍵值字段名稱
/// </summary>
public string KeyFieldName
{
get { return keyFieldName; }
set { keyFieldName = value; }
}

private string displayFieldValue;
/// <summary>
/// 顯示字段值
/// </summary>
public string DisplayFieldValue
{
get { return displayFieldValue; }
set { displayFieldValue = value; }
}

private string keyFieldValue;
/// <summary>
/// 鍵值字段值
/// </summary>
public string KeyFieldValue
{
get { return keyFieldValue; }
set { keyFieldValue = value; }
}

private string levelFieldName;
/// <summary>
/// 層次字段名稱
/// </summary>
public string LevelFieldName
{
get { return levelFieldName; }
set { levelFieldName = value; }
}

private string levelFieldValue;
/// <summary>
/// 層次字段值
/// </summary>
public string LevelFieldValue
{
get { return levelFieldValue; }
set { levelFieldValue = value; }
}
}
//sqlserver2000存儲過程
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_gettreedata]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sp_gettreedata]
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_NULLS ON
GO

CREATE PROCEDURE [dbo].[sp_gettreedata]
(@table_name nvarchar(50), @id nvarchar(50), @name nvarchar(50), @parent_id nvarchar(50), @startId nvarchar(50), @maxlevel int)
AS
declare @v_id nvarchar(50)
declare @v_level int
declare @sql nvarchar(500)
declare @v_maxlevel int
begin
create table #temp (id nvarchar(50),name nvarchar(50),parent_id nvarchar(50))
create table #t1 (id nvarchar(50),name nvarchar(50),parent_id nvarchar(50),level int)
delete from com_temp
set @sql='insert into #temp select '+@id+','+@name+','+@parent_id +' from '+@table_name
exec sp_executesql @sql

set @v_level=1
set @v_id=@startId
set @v_maxlevel = @maxlevel
insert #t1 select a.id,a.name,a.parent_id,@v_level from #temp a where a.id=@v_id
while @@rowcount>0
begin
set @v_level=@v_level+1
insert #t1 select a.id,a.name,a.parent_id,@v_level
from #temp a where a.parent_id in
(select id from #t1 where level=@v_level-1)
end
insert into Com_TEMP select a.level,a.id,a.name,a.parent_id,b.name parent_name
from #t1 a left outer join #temp b
on a.parent_id = b.id
where a.level <= @maxlevel
order by a.level

select * from Com_TEMP order by dbo.f_getidpath(id)
end

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
//sqlserver2000函數(shù)
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_getidpath]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[f_getidpath]
GO

SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

CREATE function f_getidpath(@id char(36))
returns varchar(8000)
as
begin
declare @re varchar(8000),@pid char(36)
set @re=@id
select @pid=parent_id from com_temp where id=@id
while @@rowcount> 0
select @re=@pid + '.'+ @re,@pid=parent_id from com_temp where id=@pid
return(@re)
end

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
//數(shù)據(jù)訪問層方法
public ComLevelDataEntity[] PrepareHierarchyData(ComLevelDataEntity entity)
{
System.Data.SqlClient.SqlParameter[] parameters = new System.Data.SqlClient.SqlParameter[6];
parameters[0] = new SqlParameter();
parameters[0].ParameterName = "@table_name";
parameters[0].Size = 50;
parameters[0].SqlDbType = System.Data.SqlDbType.VarChar;
parameters[1] = new SqlParameter();
parameters[1].ParameterName = "@id";
parameters[1].Size = 50;
parameters[1].SqlDbType = System.Data.SqlDbType.VarChar;
parameters[2] = new SqlParameter();
parameters[2].ParameterName = "@name";
parameters[2].Size = 50;
parameters[2].SqlDbType = System.Data.SqlDbType.VarChar;
parameters[3] = new SqlParameter();
parameters[3].ParameterName = "@parent_id";
parameters[3].Size = 50;
parameters[3].SqlDbType = System.Data.SqlDbType.VarChar;
parameters[4] = new SqlParameter();
parameters[4].ParameterName = "@startId";
parameters[4].Size = 50;
parameters[4].SqlDbType = System.Data.SqlDbType.VarChar;
parameters[5] = new SqlParameter();
parameters[5].ParameterName = "@maxlevel";
parameters[5].SqlDbType = System.Data.SqlDbType.Int;
string spName = "sp_gettreedata";
if (entity.SearchLevel <= 0)
{
parameters[0].Value = entity.DataObjectName;
parameters[1].Value = entity.KeyFieldName;
parameters[2].Value = entity.DisplayFieldName;
parameters[3].Value = entity.LevelFieldName;
parameters[4].Value = entity.KeyFieldValue;
parameters[5].Value = 100;
}
else
{
parameters[0].Value = entity.DataObjectName;
parameters[1].Value = entity.KeyFieldName;
parameters[2].Value = entity.DisplayFieldName;
parameters[3].Value = entity.LevelFieldName;
parameters[4].Value = entity.KeyFieldValue;
parameters[5].Value = entity.SearchLevel;
}
List<ComLevelDataEntity> results = new List<ComLevelDataEntity>();
IDbConnection connection = IDALProvider.IDAL.PopConnection();
IDataReader sqlReader = IDALProvider.IDAL.ExecuteReader(connection,spName, parameters);
while (sqlReader.Read())
{
ComLevelDataEntity result = new ComLevelDataEntity();
if (!sqlReader.IsDBNull(0))
result.CascadeLevel = (int)sqlReader.GetInt32(0);
if (!sqlReader.IsDBNull(1))
result.KeyFieldValue = sqlReader.GetString(1);
if (!sqlReader.IsDBNull(2))
result.DisplayFieldValue = sqlReader.GetString(2);
if (!sqlReader.IsDBNull(3))
result.LevelFieldValue = sqlReader.GetString(3);
result.DataObjectName = entity.DataObjectName;
result.DisplayFieldName = entity.DisplayFieldName;
result.LevelFieldName = entity.LevelFieldName;
result.KeyFieldName = entity.KeyFieldName;
results.Add(result);
}
sqlReader.Close();
IDALProvider.IDAL.PushConnection(connection);
return results.ToArray();
}
//前端調(diào)用代碼
ComLevelDataEntity entity = new ComLevelDataEntity();
entity.DataObjectName = "COM_DEPART";
entity.DataObjectAlias = "t";
entity.StartWithRoot = true;
entity.KeyFieldName = "id";
entity.LevelFieldName = "parent_id";
entity.DisplayFieldName = "name";
entity.KeyFieldValue = SystemLogic.CurrentUser.DATA_ORGANISE_ID;
ComLevelDataEntity[] results = IDALProvider.IDAL.PrepareHierarchyData(entity);
this.tvTree.DataSource = results;
this.tvTree.DataBind();
關(guān)于以C#為前端,SQL Server 2000層次數(shù)據(jù)查詢的實現(xiàn)方法就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!

快消品貨源網(wǎng)提供超市貨源信息,超市采購進貨渠道。超市進貨網(wǎng)提供成都食品批發(fā),日用百貨批發(fā)信息、微信淘寶網(wǎng)店超市采購信息和超市加盟信息.打造國內(nèi)超市采購商與批發(fā)市場供應(yīng)廠商搭建網(wǎng)上批發(fā)市場平臺,是全國批發(fā)市場行業(yè)中電子商務(wù)權(quán)威性網(wǎng)站。

本文內(nèi)容整合網(wǎng)站:百度百科知乎淘寶平臺規(guī)則

本文來源: SQL Server 2000層次數(shù)據(jù)查詢的實現(xiàn)方法

分享與收藏:  網(wǎng)商學(xué)院搜索  告訴好友  關(guān)閉窗口  打印本文 本文關(guān)鍵字:
 
更多..資源下載
獨立商城圖文
獨立商城網(wǎng)商學(xué)院推薦
獨立商城點擊排行
 
手機版 手機掃描訪問
欧美黄色美女视频-日韩aaa久久蜜桃av-护士奶头又大又软又好摸-性久久久久久久久久-午夜福利92国语-456欧美成人免费视频-天天躁日日躁aaaxxⅹ-国产精品青青草-久久不见久久见免费影院-国模大尺度福利视频在线-69大东北熟妇高潮呻吟-亚洲精品一区av在线播放-91av 视频-亚洲成人免费影院-你懂的网址国产,欧美-成年女人色毛片
<rt id="wi224"></rt>

  • <bdo id="wi224"><source id="wi224"></source></bdo>
    <table id="wi224"><wbr id="wi224"></wbr></table>
    <li id="wi224"><dl id="wi224"></dl></li>
    欧美精品99久久| 精品亚洲视频在线| 成人高清dvd| 国内精品国产三级国产aⅴ久| 久久久精品三级| 国产成人精品视频ⅴa片软件竹菊| 日韩欧美视频网站| 亚洲精品无码国产| 91免费黄视频| 久草青青在线观看| 88av.com| 亚洲制服中文字幕| 波多野结衣国产精品| 中文字幕亚洲影院| 青青草视频国产| 久久久久久久久久久99| 国产xxxxx在线观看| 成年人在线观看视频免费| 亚洲人辣妹窥探嘘嘘| 国产精品视频分类| 亚洲自拍第三页| 青春草国产视频| 天天摸天天碰天天添| 天天操天天摸天天爽| 黄色网址在线免费看| av 日韩 人妻 黑人 综合 无码| 久无码久无码av无码| 高清在线观看免费| 性生活免费在线观看| 午夜啪啪福利视频| 欧美日韩精品在线一区二区| 欧美牲交a欧美牲交aⅴ免费真| 青青青在线视频免费观看| 欧美精品 - 色网| 国产96在线 | 亚洲| 天天影视综合色| 国产91视频一区| 91国产精品视频在线观看| 日韩在线视频在线| 污视频免费在线观看网站| 日韩激情视频一区二区| 久久黄色免费看| av日韩在线看| 日韩免费高清在线| 国内少妇毛片视频| 一区二区久久精品| 国产成人精品视频ⅴa片软件竹菊| 91视频成人免费| 午夜精品中文字幕| av免费观看网| 免费的一级黄色片| 中文字幕免费高清在线| 日本成人中文字幕在线| 搞av.com| 国产成a人亚洲精v品在线观看| 在线播放黄色av| 国产野外作爱视频播放| 人妻少妇被粗大爽9797pw| 日韩视频 中文字幕| 国产资源中文字幕| xx欧美撒尿嘘撒尿xx| 日韩视频在线免费看| heyzo亚洲| 欧美日韩一道本| 国产中文字幕二区| 免费超爽大片黄| 91精品国产91久久久久麻豆 主演| 男女爱爱视频网站| 国产三级生活片| 亚洲午夜精品一区| 日本中文字幕观看| 欧美大片久久久| 极品粉嫩美女露脸啪啪| 亚洲欧美自拍另类日韩| 手机看片一级片| 91看片破解版| 视色,视色影院,视色影库,视色网| 亚洲av毛片在线观看| 伊人精品视频在线观看| av磁力番号网| 成年人午夜视频在线观看| 37pao成人国产永久免费视频| 日本毛片在线免费观看| 欧美黑人又粗又大又爽免费| 日本肉体xxxx裸体xxx免费| 国产欧美精品一二三| 国产精品8888| 日韩亚洲在线视频| 九九热视频免费| 日韩网站在线免费观看| 国产三级日本三级在线播放| 三级黄色片免费观看| 91精品国产毛片武则天| 成年人免费在线播放| 日本激情综合网| 国产情侣第一页| 成年网站在线播放| 国产成人永久免费视频| 激情内射人妻1区2区3区| 三级黄色片免费观看| 91专区在线观看| 国产又粗又爽又黄的视频| 欧美牲交a欧美牲交aⅴ免费真| 999这里有精品| 福利视频一二区| 手机在线免费观看毛片| 国产黄色片免费在线观看| www,av在线| 成年人黄色片视频| 久久久国内精品| 日韩av加勒比| www.激情小说.com| 国产av国片精品| 日韩中文在线字幕| 亚洲一级片网站| 999香蕉视频| 国产欧美123| 日韩在线一区视频| 国产精品99久久免费黑人人妻| 精品人妻大屁股白浆无码| 91欧美一区二区三区| 激情 小说 亚洲 图片: 伦| www黄色日本| 亚洲精品无码国产| 18视频在线观看娇喘| 日韩成人精品视频在线观看| 久久久精品三级| 欧美成人xxxxx| www.av片| 欧美 日本 亚洲| 国产二级片在线观看| 久久久久久久午夜| 欧美乱大交xxxxx潮喷l头像| 久久久久久久久久久综合| 午夜啪啪福利视频| 欧美亚洲视频一区| 欧美xxxx吸乳| 日韩极品视频在线观看| 97超碰人人澡| 99精品在线免费视频| 黄在线观看网站| 久热免费在线观看| 孩娇小videos精品| 天天看片天天操| 波多野结衣激情| 久久www视频| 日韩在线综合网| 久久久久久三级| 天天色天天综合网| 红桃一区二区三区| 人妻少妇精品无码专区二区| 两根大肉大捧一进一出好爽视频| 国产xxxxx在线观看| jizz欧美性11| 国产成人在线小视频| 超碰97人人射妻| 国产福利精品一区二区三区| 成年在线观看视频| 国产精品沙发午睡系列| 午夜宅男在线视频| 亚洲色婷婷久久精品av蜜桃| 久久久999免费视频| 亚洲精品免费一区亚洲精品免费精品一区 | theporn国产精品| 真人抽搐一进一出视频| 玩弄japan白嫩少妇hd| 亚洲第一色av| 国产91美女视频| 韩国黄色一级大片| www.亚洲天堂网| 欧美一级黄色录像片| 国产美女网站在线观看| 精品国产鲁一鲁一区二区三区| 男的插女的下面视频| www.超碰97.com| 女人扒开屁股爽桶30分钟| 红桃视频 国产| www黄色在线| 国产真人做爰毛片视频直播| 欧美激情第一区| 亚洲高清在线免费观看| 免费国产黄色网址| 国产又粗又爽又黄的视频| 欧美伦理片在线看| 国产av天堂无码一区二区三区| 日本美女久久久| 天天综合网日韩| 日本三区在线观看| 六月婷婷在线视频| 欧美一区二区视频在线播放| 偷拍盗摄高潮叫床对白清晰| 国产又大又黄又猛| 无码少妇一区二区三区芒果| 欧美 丝袜 自拍 制服 另类| 激情五月六月婷婷| 麻豆视频传媒入口| 青青在线免费视频| japanese在线播放| www.18av.com| 日本中文字幕在线视频观看|