大侠位,请教一个菜鸟论坛的问题,因为刚接触C#WEB,现有一个问题,我写了一个SQL存储过程

c#中SQL的存储过程的系统的教程。希望有这方面资源的同志分享一下 _百度知道
c#中SQL的存储过程的系统的教程。希望有这方面资源的同志分享一下
还有个问题就是存储过程里面利用 delete 语句的问题一般的sql语句delete 可以利用cascade 但是在存储过程里面 为什么cascade 却提示错误呢?多谢各位
1,@Outstring nvarchar(1000)output)asbegindeclare @Sourcestring nvarchar(1000)set @Sourcestring=@Inputstringdeclare @Position intset @Position=charindex(&#39,@Position+1?我这里有个经典的存储过程 是截取字符串的你可以研究一下,'怎么给你呢;:--分割字符串create procedure pro_splitstring(@Inputstring nvarchar(1000)output,@Position-1)
set @Inputstring=substring(@Sourcestring!!包括格式用法调用你可以了解一下,@Sourcestring)if(@Position=0) begin
set @Outstring=@Inputstring
set @Inputstring=null endelse begin
set @Outstring=substring(@Inputstring
其他类似问题
为您推荐:
存储过程的相关知识
其他1条回答
Google + 不停的写例子。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁请教一个存储过程的写法_百度知道
请教一个存储过程的写法
不胜感激.xzzt &&gt.deptid = ;
如何写这样的符合条件求和的存储过程:ls_ysmoney
FROM yszcmxWHERE (2' 0 or isnull(ls_ysmoney) = true then ls_ysmoney = 0 ;&gt.sqlcode &lt:ls_xmid ) AND
( yszcmx. if sqlca:ls_dateend ):ls_ ' )
( yszcmx.money)
INTO ;&gt:ls_ysnd )
(2&#39.shzt &lt.nd = .xmid = :ls_deptid ) AND
( yszcmx: SELECT sum(yszcmxSQL语句如下
&gt:@ls_ysnd ) AND
(2&#39, @ls_deptid 数据类型:@ls_dateend ), @ls_ysnd
数据类型; ) AND
( yszcmx.xzzt &lt.nd = ,
output--前面为定义输入参数的类型 AS BEGIN SELECT @ls_sum = sum(yszcmx, @ls_dateend数据类型; ) AND
(&gt:@ls_datestart and .sqlcode &&gt, @ls_datestart 数据类型.money)
INTO :@ls_ysmoney
FROM yszcmx
WHERE ( yszcmx.xmid = :@ls_xmid ) AND
( '2&#39.deptid = :@ls_deptid ) AND
( yszcmx.zctime between .shzt & ' 0 or isnull(@ls_ysmoney) = true then @ls_ysmoney = 0 创建存储过程 create procdurce chunchuguocheng @ls_ysmoney数据类型
其他类似问题
为您推荐:
存储过程的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C#写的B/S应用程序调用SQL 2005存储过程,带输出参数,偶尔异常,没有返回值_百度知道
C#写的B/S应用程序调用SQL 2005存储过程,带输出参数,偶尔异常,没有返回值
sUserPublicIP,但是偶尔总会出现错误;@IsValid&quot.Parse(= 15
if exists( select id from [Teacher] where ID = @UserName )
SELECT @IsValid = 2
SELECT @IsValid = 0
return @IsValidgoC#程序如下,当有一定量用户并发时出现几率更多.CommandType = CommandType.Parameters.Input.Parameters[&],验证用户名
if len(@UserName) &gt.Value =cmd.ExecuteNonQuery();para1;@UserIP&quot, 50).ToString());= @Ip and EndIP &gt, SqlDbTpara1.VSqlCommand cmd = new SqlCommand(&quot.IP2BigInt( @UserIP ) -- 先判断IP地址 if exists( select id from [IP] where StartIP &lt。请教给位哪儿出现问题了.Value == null)
return CERTIFY_RETURN_VALUE_ERROR, dataBaseConn).Direction = ParameterDirection:alter PROCEDURE [dbo].Parameters[&quot.Add(para1);@IsValid&.StoredP 若返回值有异常 if (cmd:SqlParameter para1 = new SqlParameter(&try{/CheckUserValid& &#47,返回了 CERTIFY_RETURN_VALUE_ERROR值SQL SERVER中的存储过程如下.NVarC.[CheckUserValid] ( @UserIP nvarchar(50), @UserName nvarchar(50) )AS declare @IsValid int declare @IP BigInt set @Ip =];= @Ip )
SELECT @IsValid = 1 else
-- IP验证不通过;}一般情况下输入参数都正常得到结果
提问者采纳
也是遇到这个问题,期待你的解决,只是发现查询被挂起了,分析不出什么原因造成的
好像是因为我使用了线程,而dataBaseConn连接只创建了一个,改过来,再测试看看,会不会有问题,你的呢?
我感觉应该是并发了,确定不了在什么情况下会出现这种情况。
提问者评价
经改进,已经没有问题了,我的就是因为线程与SqlConnection不安全的问题,导致的,你也看看
来自团队:
其他类似问题
为您推荐:
存储过程的相关知识
其他3条回答
可以在调用之前。而程序只提供一个,是不是所有的IP格式都一样。不知道会不会是格式错了怎么存储过程有两个输入参数,把接收到的IP写到日志去看看?如果加上了还是有问题?还有个UserName 呢
@UserName这个参数没有你也能正常运行??IP不通过的情况下~~
不用说肯定是自己代码有问题,关键是细心,可添加调试语句
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁用C#写一个windows服务可定时执行sql Service数据库里面的存储过程(带两个参数),急求代码!高手赐教!_百度知道
用C#写一个windows服务可定时执行sql Service数据库里面的存储过程(带两个参数),急求代码!高手赐教!
提问者采纳
ToStart(){
timer.Elapsed += new System.Timers.Enabled = true.Timer();}void timer_Elapsed(object sender.ElapsedEventArgs e)
{&#47.Timers.ElapsedEventHandler(timer_Elapsed).T
timer.Start();
timer.Timer timer = new System.Interval = 10000.Timers
提问者评价
非常感谢!
其他类似问题
为您推荐:
其他2条回答
工具栏里拉一个想小闹钟的空间。设定好后你双击它。然后设定他的Interval 属性,代表一天。Interval 是表示间隔时间。你自己去算吧。你在事件中写你要调用的存储过程就可以了,就会有一个事件
这个要用作业吧,看看这个吧:
存储过程的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C# 中接收 存储过程 的输出参数问题_百度知道
C# 中接收 存储过程 的输出参数问题
sqlCmd.StoredPproc_addtype&
sqlCmd.Open();@outResult&quot!= ConnectionS@mandType=CommandT
string result = sqlC这样一个错误;@TypeName&添加失败;@TypeDesc&
sqlCmd.Open)
sqlConn, name))我在sqlserver中有这样一个存储过程.S
sqlConn.Add(new SqlParameter(&quot!';
insert into NewsType values(@TypeName.ExecuteNonQuery():create procedure
proc_addtype@TypeName varchar(50), SqlDbType.Direction = ParameterDirection.Close();
if (sqlConn.Parameters[&quot!&#39,添加失败.O
sqlC].CommandText=&quot.Parameters[&quot,但是C#中调用.VarChar)).Add(new SqlParameter(&string[2] Size 属性具有无效大小值 0&0)
rollback transaction
@outResult='@outResult&quot,@TypeDesc
varchar(255).ToString().Parameters.Connection = sqlConn.Add(new SqlParameter(&quot, string desc)
sqlCmd=new SqlCommand():public string InsertResult(string name!&#39.Parameters,不知道是什么意思;,@TypeDesc)
if(@@error&,@outResult varchar(30) outputasif exists(select TypeName from NewsType where TypeName=@TypeName)
set @outResult = &#39, desc));该类型已存在;
set @outResult='添加成功;
}这里报一个&
endgo这个在数据库中运行正常,望高手能指教
提问者采纳
这一句错了;.Add(new SqlParameter(&quot:sqlC@outResult&.Parameters: sqlCmd.Parameters,我这里定为30, SqlDbType.VarChar));应该改成,30)).Add(new SqlParameter(&quot.VarC@outResult&这里要定义VarChar的长度, SqlDbType,你再试下,就不会报错了
其他类似问题
为您推荐:
存储过程的相关知识
其他2条回答
ExecuteNonQuery().加一句.sqlCmd.存储过程要具有查询结果集.1,有两个要注意的.ds.C#要获取返回的结果集;];2:select @outResult as &#39.你在存储过程中定义一个返回变量@outResult 但在end之间没有对@outResult 查询想要C#调存储过程取得返回值的话;outResult'这个方法是不返回结果集的SQL调用.Tables[0].rows[0][&quot,需要用查询的方法填充.toString().其实你可以直接用普通的查询调用来执行这个存储过程,然后要ds接表取outResult就可以;outResult&quot
我不知道我说的对不对啊我觉得存储语法应该是对的我感觉问题出在 string result = sqlCmd.Parameters[&@outResult&].Value.ToString();
这段代码不应该放在try{}里。把它放在 finally
sqlConn.Close();
}的后面试试 我是这样认为的函数定义了返回类型,但是对于try catch来说,他具有捕获异常的功能,假如异常,你放在try里,自然就无返回值,程序当然会提示错误!!!但是放在外面就不一样了无论是否异常都会有返回值。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 花瓶大神很菜鸟 的文章

 

随机推荐