CREATE proc sp_GetAllChildPosition
@Position_id int
/*======================================================
功能: 得到此职位所有的子职位
参数:
@Position_id int : 职位ID
======================================================*/
ASDECLARE @ids VARCHAR(2000)
DECLARE @tmpids VARCHAR(2000)
DECLARE @oldids VARCHAR(2000)
DECLARE @sql nVARCHAR(2000)SET @ids =''
SET @tmpids=''
SET @oldids =''SELECT @ids = @ids + CONVERT(VARCHAR,Position_id) + ','
FROM
uds_Position
WHERE super_Position_id =@Position_id
and super_Position_id <>Position_id
IF LEN(@ids)>0
SET @ids = LEFT(@ids,LEN(@ids)-1)CREATE TABLE #Position(id int)
SET @oldids = @idsWHILE LEN(@oldids)>0
BEGIN
SET @sql = N'INSERT INTO #Position
SELECT
Position_id
FROM
uds_Position
WHERE super_Position_id in (' + @oldids +')' EXEC (@sql)
SET @tmpids=''
SELECT @tmpids = @tmpids + CONVERT(VARCHAR,id) + ','
FROM #Position
IF LEN(@tmpids)>0
SET @tmpids = LEFT(@tmpids,LEN(@tmpids)-1) SET @oldids = @tmpids
DELETE FROM #Position
SET @ids = @ids + ',' + @tmpids
END IF LEN(@ids)>0
BEGIN
SET @ids = LEFT(@ids,LEN(@ids)-1)
SET @sql =N'SELECT * FROM uds_Position WHERE Position_id in (' + @ids + ')'
PRINT @sql
EXEC (@sql)
COMMIT;
END
ELSE
SELECT * FROM uds_Position WHERE 1=2
GO
这是存储过程的语句,我想从表中筛选出 super_Position_id<91的职位,可是直接在WHERE 后面加这个条件,结果却还是一样的,请高手们帮帮我,要看源码的加我QQ94027149
@Position_id int
/*======================================================
功能: 得到此职位所有的子职位
参数:
@Position_id int : 职位ID
======================================================*/
ASDECLARE @ids VARCHAR(2000)
DECLARE @tmpids VARCHAR(2000)
DECLARE @oldids VARCHAR(2000)
DECLARE @sql nVARCHAR(2000)SET @ids =''
SET @tmpids=''
SET @oldids =''SELECT @ids = @ids + CONVERT(VARCHAR,Position_id) + ','
FROM
uds_Position
WHERE super_Position_id =@Position_id
and super_Position_id <>Position_id
IF LEN(@ids)>0
SET @ids = LEFT(@ids,LEN(@ids)-1)CREATE TABLE #Position(id int)
SET @oldids = @idsWHILE LEN(@oldids)>0
BEGIN
SET @sql = N'INSERT INTO #Position
SELECT
Position_id
FROM
uds_Position
WHERE super_Position_id in (' + @oldids +')' EXEC (@sql)
SET @tmpids=''
SELECT @tmpids = @tmpids + CONVERT(VARCHAR,id) + ','
FROM #Position
IF LEN(@tmpids)>0
SET @tmpids = LEFT(@tmpids,LEN(@tmpids)-1) SET @oldids = @tmpids
DELETE FROM #Position
SET @ids = @ids + ',' + @tmpids
END IF LEN(@ids)>0
BEGIN
SET @ids = LEFT(@ids,LEN(@ids)-1)
SET @sql =N'SELECT * FROM uds_Position WHERE Position_id in (' + @ids + ')'
PRINT @sql
EXEC (@sql)
COMMIT;
END
ELSE
SELECT * FROM uds_Position WHERE 1=2
GO
这是存储过程的语句,我想从表中筛选出 super_Position_id<91的职位,可是直接在WHERE 后面加这个条件,结果却还是一样的,请高手们帮帮我,要看源码的加我QQ94027149
解决方案 »
- 如何操作托盘图标?
- OutOfMemoryException 如何解决
- C#多线程同步上下文是什么意思【???】
- 关于操纵WORD的问题
- int? success = -1;与int success = -1;区别? "?"有什么作用
- 如何从IE网页中提取信息呀?
- C#中如何用split函数?
- 有哪位大侠知道做快捷键吗 在winform设计中 象qq那样 按enter+ctrl 就相当于 send 发送消息 ?
- 要做两个集合的查找比较 用哪个数据结构合适?
- C# SqlDataAdapter 填充 DataSet 忽快忽慢的问题
- 从哪里可以弄到金蝶财务软件的数据接口(凭证方面)
- C#控件的Events在属性窗口就有,我怎么找不到 Application的Events?
你是怎么加的啊,别说是在代码里加的你另外写个存储过程就完了
主要检查是不是转换类型引起的错误
比如
Convert.toInt32("ABC");
就肯定有这种错误