• 全部
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm&WPF
  • C#开发新技术
  • 问答

有关存储过程的问题,进入观看详情!万分火急!

nhpyliner 2004-11-05 11:04:11
小弟刚到一家公司,经理给了我一段程序让我改写成存储过程。小弟,对存储过程的认识只停留在写几个查询语句上,而现在的程序里不止这些,还包括条件语句等,最让我头疼的是还要调用函数。我真不知如何下手?在C#中我把其中的一个函数写成了SqlServer中的一个函数,但就是有错误不知如何解决:该函数如下:
CREATE FUNCTION dbo.GetValue
(
@strQuest varchar,@str varchar
)
RETURNS varchar
AS
BEGIN
declare @tmp1 int;
declare @tmp2 int;
declare @strResult varchar;
set @strResult=
(
@tmp1 = @strQuest.IndexOf(@str + "=");
if ( @tmp1 < 0 )
(
@strResult = ;
)
else
(
@tmp1 = @tmp1 + @str.Length + 1;
@tmp2 = @strQuest.IndexOf("&", @tmp1);
if ( @tmp2 < 0 )
(
@tmp2 = strQuest.Length;
)
@strResult = @strQuest.Substring(@tmp1, @tmp2 - @tmp1);
)
)
RETURN @strResult
END
请高手考过去帮我把错误改正好么?谢了!
...全文
89 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
基本上在我改的基础上再做就是了,我相信如果只是存储过程的问题,你看看别人写的很快就会了,这个比C#好学的多了,我看你的C#语法很好嘛,存储过程比它好写:)
回复
nhpyliner 2004-11-05
hbxtlhx(下着春雨的天)
谢谢你了
能把你的邮箱给我么
我把我的源码给你
望您指点
万分感谢
回复
nhpyliner 2004-11-05
真谢谢了楼上二位
我马上改改
回复
nhpyliner 2004-11-05
谢谢 yezie(Rain)
能不能帮我好好看看呀
你只要把我的源码考一下帮我调调好么
我都要急死了
谢了
我想问题还多着那
回复
没有细看你要的功能,只是从语法上给你改了一下:

ALTER FUNCTION dbo.GetValue
(
@strQuest varchar,
@str varchar
)
RETURNS varchar
AS
BEGIN
declare @tmp1 int;
declare @tmp2 int;
declare @strResult varchar;
set @strResult=''

set @tmp1 = CHARINDEX(@str + '=', @strQuest, 0)
if ( @tmp1 < 0 )
begin
set @strResult = ''
end
else
begin
set @tmp1 = @tmp1 + len(@str) + 1
set @tmp2 = CHARINDEX('&', @strQuest, @tmp1)
if ( @tmp2 < 0 )
begin
set @tmp2 = len(@strQuest)
end
set @strResult = SUBSTRING(@strQuest, @tmp1, @tmp2 - @tmp1)
end
RETURN @strResult
END
回复
yezie 2004-11-05
if ( @tmp1 < 0 ) --> if @tmp1 < 0
IndexOf好像是charindex,忘了,
去看看MSSQL的联机帮助
回复
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2004-11-05 11:04
社区公告

让您成为最强悍的C#开发者