国产激情综合,欧美香蕉视频,国产成人免费精品,久久激情中文

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

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

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

以C#為前端,SQL Server 2000層次數(shù)據(jù)查詢是如何實(shí)現(xiàn)的呢?本文我們主要就介紹這部分內(nèi)容,接下來(lái)就讓我們一起來(lái)了解一下這一過(guò)程吧。
//層次數(shù)據(jù)實(shí)體
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>
/// 整樹(shù)搜索
/// </summary>
public bool StartWithRoot
{
get { return startWithRoot; }
set { startWithRoot = value; }
}
private string dataObjectName;
/// <summary>
/// 數(shù)據(jù)對(duì)象名稱
/// </summary>
public string DataObjectName
{
get { return dataObjectName; }
set { dataObjectName = value; }
}

private int cascadeLevel;
/// <summary>
/// 層級(jí)
/// </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存儲(chǔ)過(guò)程
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ù)訪問(wèn)層方法
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ù)查詢的實(shí)現(xiàn)方法就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!

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

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

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

分享與收藏:  網(wǎng)商學(xué)院搜索  告訴好友  關(guān)閉窗口  打印本文 本文關(guān)鍵字:
 
更多..資源下載
獨(dú)立商城圖文
獨(dú)立商城網(wǎng)商學(xué)院推薦
獨(dú)立商城點(diǎn)擊排行
 
手機(jī)版 手機(jī)掃描訪問(wèn)
国产激情综合,欧美香蕉视频,国产成人免费精品,久久激情中文
国产精品毛片aⅴ一区二区三区| 视频在线观看91| 日本强好片久久久久久aaa| 午夜久久tv| 国产极品嫩模在线观看91精品| 国产欧美自拍一区| 亚洲经典在线| 欧洲激情综合| 福利在线一区| 日韩免费福利视频| 91嫩草精品| 日本视频在线一区| 都市激情国产精品| 日韩高清一区| 国产乱码精品| 日韩1区在线| 日韩亚洲在线| 噜噜噜躁狠狠躁狠狠精品视频 | 国产欧洲在线| 亚洲欧美日本国产| 亚洲一卡久久| 蜜臀久久99精品久久一区二区| 97在线精品| 不卡一区综合视频| 亚洲影视一区| 欧美成人亚洲| 亚洲精品伊人| 国产精品啊v在线| 久久九九99| 亚洲精品一级二级三级| 在线亚洲成人| 日本vs亚洲vs韩国一区三区二区| 中文不卡在线| 福利一区和二区| 今天的高清视频免费播放成人| 欧美在线亚洲| 日韩精品成人| 亚洲福利免费| 国产欧美日韩| 不卡视频在线| 色网在线免费观看| 蜜桃伊人久久| 国产一区2区在线观看| 黄色免费成人| 亚洲无线观看| 超碰超碰人人人人精品| 综合一区二区三区| 成人av三级| 久久国产日韩欧美精品| 神马午夜在线视频| 日本不卡视频在线观看| 亚洲精一区二区三区| 91偷拍一区二区三区精品| 午夜日韩在线| 国产一区二区三区国产精品| 国产成人调教视频在线观看| 在线亚洲成人| 蜜桃成人av| 国产精品亚洲四区在线观看 | 伊人久久在线| 国产丝袜一区| 蜜桃视频一区二区三区| 99久久久国产精品美女| 亚洲乱码一区| 午夜在线一区二区| 国产一区日韩一区| 欧美日韩尤物久久| 青青青国产精品| 中文字幕日韩欧美精品高清在线| 精品一区免费| 五月婷婷六月综合| 久久久久免费av| 亚洲精品网址| 亚洲免费在线| 午夜影院欧美| 丝袜亚洲另类欧美| 免费成人在线观看| 爽好久久久欧美精品| 日韩精品欧美激情一区二区| 精品午夜视频| 精品国产精品国产偷麻豆| 久久精品国产网站| 亚洲黄色影院| 91精品国产自产在线观看永久∴| 国产夫妻在线| 欧美亚洲精品在线| 免费成人在线观看| 婷婷精品进入| 99久久精品网| 美美哒免费高清在线观看视频一区二区| 国产视频一区欧美| 丝袜美腿亚洲一区二区图片| 99日韩精品| 国产精品1区在线| 高清一区二区三区| 国产尤物精品| 国产激情精品一区二区三区| 国产精品嫩模av在线| 麻豆国产精品| 亚洲综合在线电影| 综合亚洲自拍| 综合日韩av| 亚洲欧洲日韩精品在线| 精品少妇一区| 日韩高清电影一区| 蜜桃精品在线| 国产精品色网| 日本久久精品| 日本精品一区二区三区在线观看视频| 成人在线视频中文字幕| 欧美日韩国产亚洲一区| 麻豆精品视频在线| 国精品产品一区| 亚洲欧洲免费| 欧美日韩四区| 激情亚洲影院在线观看| 亚洲精品动态| 久久青草久久| 国产美女久久| 日韩精品午夜视频| 欧美在线亚洲综合一区| 久久婷婷国产| 欧美中文高清| 四虎精品一区二区免费| 久久国产中文字幕| 欧美偷窥清纯综合图区| 首页亚洲欧美制服丝腿| 久久婷婷丁香| 日本不卡视频在线观看| 久久精品官网| 欧美日韩18| 欧美激情一区| 国产午夜久久av| 悠悠资源网久久精品| 久久影院午夜精品| 国产精品**亚洲精品| 欧美永久精品| 日韩精品一页| 国产日韩欧美中文在线| 色综合视频一区二区三区日韩| 国产在线成人| 国产精品普通话对白| 999国产精品永久免费视频app| 亚洲一级大片| 亚洲精一区二区三区| 蜜桃免费网站一区二区三区| 欧美特黄一区| 婷婷激情久久| 视频一区中文字幕| 蜜桃一区二区三区在线| 成人精品视频| 国产伦一区二区三区| 高潮一区二区| 国产精品激情| 婷婷综合社区| 尤物精品在线| 久久久久久色 | 日本视频一区二区| 狠狠色综合网| 午夜在线视频一区二区区别| 蜜臀av国产精品久久久久 | 婷婷亚洲成人| 欧美啪啪一区| 国产一区二区三区自拍| 欧美亚洲国产一区| 亚洲欧美日韩在线观看a三区| 欧美精品自拍| 国产乱子精品一区二区在线观看| 欧美a级一区二区| 欧美亚洲激情| 一级欧美视频| 欧美国产极品| www在线观看黄色| 日韩午夜精品| 国产精品xxx| 精品一区二区三区中文字幕视频 | 欧美日韩精品一区二区视频| 欧美~级网站不卡| 综合激情一区| 国产精品原创| 日韩中文字幕亚洲一区二区va在线| 免费在线欧美视频| 国产精品久久久久久av公交车| 日韩久久视频| 日韩免费精品| 久久人人97超碰国产公开结果| 蜜臀精品久久久久久蜜臀| 国产精品欧美大片| 激情欧美日韩一区| 99成人在线| 精品一区视频| 自拍自偷一区二区三区| 国产传媒在线观看| 亚洲日本国产| 久久中文字幕二区| 国产极品模特精品一二| 日韩av福利| 国产高清日韩| 日韩精品一区二区三区中文字幕| 水蜜桃久久夜色精品一区|