随笔-3  评论-43  文章-0  trackbacks-0
  置顶随笔
摘要: 以WF为基础,自己封装一层流程逻辑处理,在此基础上开发一个图形化的流程设计器,流程设计器最终出来一个XML文件,传给自己的流程逻辑处理层,流程逻辑处理层解析这个XML文件,最终生成对应的WF流程定义。阅读全文
posted @ 2010-08-10 16:42 ee11 阅读(2087) 评论(18) 编辑
  2010年8月17日

    在与数据库交互的过程中,我们经常需要把一串ID组成的字符串当作参数传给存储过程获取数据。很多时候我们希望把这个字符串转成集合以方便用于in操作。 有两种方式可以方便地把这个以某种符号分隔的ID字符串转成临时表。

 

方式一:通过charindex和substring。 

代码
create function func_splitstring
(
@str nvarchar(max),@split varchar(10))
returns @t Table (c1 varchar(100))
as
begin
declare @i int
declare @s int
set @i=1
set @s=1
while(@i>0)
begin
set @i=charindex(@split,@str,@s)
if(@i>0)
begin
insert @t(c1) values(substring(@str,@s,@i-@s))
end
else begin
insert @t(c1) values(substring(@str,@s,len(@str)-@s+1))
end
set @s = @i + 1
end
return
end

执行:select * from  dbo.func_splitstring('1,2,3,4,5,6', ',')

结果:

     

 

方式二:通过XQuery(需要SQL Server 2005以上版本)。

代码
create function func_splitid
(
@str varchar(max),@split varchar(10))
RETURNS @t Table (c1 int)
AS
BEGIN
DECLARE @x XML
SET @x = CONVERT(XML,'<items><item id="' + REPLACE(@str, @split, '"/><item id="') + '"/></items>')
INSERT INTO @t SELECT x.item.value('@id[1]', 'INT') FROM @x.nodes('//items/item') AS x(item)
RETURN
END

执行:select * from  dbo.func_splitid('1,2,3,4,5,6', ',')

结果:

    

 

 

 

posted @ 2010-08-17 08:49 ee11 阅读(3264) 评论(25) 编辑
  2010年8月10日
摘要: 以WF为基础,自己封装一层流程逻辑处理,在此基础上开发一个图形化的流程设计器,流程设计器最终出来一个XML文件,传给自己的流程逻辑处理层,流程逻辑处理层解析这个XML文件,最终生成对应的WF流程定义。阅读全文
posted @ 2010-08-10 16:42 ee11 阅读(2087) 评论(18) 编辑
  2010年5月25日
摘要: 一、[参考文献:严蔚敏.数据结构(C语言版)]。二、功能演示。1、测试例子。2、测试结果。三、对表达式进行校验。怎么对输入的字符串表达式进行校验呢?1、对表达式按操作符进行拆分(返回一个字符串数组)。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->private static string[] SplitExpression(string expression){string[] exprs = null;List<string&g阅读全文
posted @ 2010-05-25 09:19 ee11 阅读(399) 评论(0) 编辑
仅列出标题