ParameterDirection.Output和ParameterDirect.ReturnValue还有Input有什么区别?

bullion 2003-10-17 09:28:50
如题!

看了很久还是搞不清它们的区别,请各位帮忙!
...全文
56 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gOODiDEA 2003-10-21
  • 打赏
  • 举报
回复
ParameterDirection.Output和ParameterDirect.ReturnValue还有Input

////


输出值,返回值,输入值
bullion 2003-10-21
  • 打赏
  • 举报
回复
to gOODiDEA(无语)
谢谢你的答复.

我先结帖了,不过我还有一事相求 : )

麻烦你帮我讲讲他的原理,谢谢了.

回复在这个贴子上就行
bullion 2003-10-17
  • 打赏
  • 举报
回复
怎么没人回答啊
private void button1_Click(object sender, EventArgs e) { if (textBox1.Text.Trim() == "" || textBox2.Text.Trim() == "" || textBox3.Text.Trim() == "" || textBox4.Text.Trim() == "" || textBox5.Text.Trim() == "" || textBox6.Text.Trim() == "") { MessageBox.Show("数据不完整! 请重新输入"); return; } SqlConnection conn = new SqlConnection(strcon); string sql = "INSERT INTO View_1 VALUES(" + textBox1.Text.Trim() + ",'" + textBox2.Text.Trim() + "'," + textBox3.Text.Trim() + "," + textBox4.Text.Trim() + ",'" + textBox5.Text.Trim() + "','" + textBox6.Text.Trim() + "')"; SqlCommand cmd = new SqlCommand(sql, conn); SqlParameter xuhao = new SqlParameter("@in_xuhao", SqlDbType.Int); xuhao.Direction = ParameterDirection.Input; xuhao.Value = textBox1.Text.Trim(); cmd.Parameters.Add(xuhao); SqlParameter Tit = new SqlParameter("@in_Tit", SqlDbType.Char, 30); Tit.Direction = ParameterDirection.Input; Tit.Value = textBox2.Text.Trim(); cmd.Parameters.Add(Tit); SqlParameter price = new SqlParameter("@in_price", SqlDbType.Int); price.Direction = ParameterDirection.Input; price.Value = textBox3.Text.Trim(); cmd.Parameters.Add(price); SqlParameter number = new SqlParameter("@in_number", SqlDbType.Int); number.Direction = ParameterDirection.Input; number.Value = textBox4.Text.Trim(); cmd.Parameters.Add(number); SqlParameter press = new SqlParameter("@in_press", SqlDbType.Char, 30); press.Direction = ParameterDirection.Input; press.Value = textBox5.Text.Trim(); cmd.Parameters.Add(press); SqlParameter Huang = new SqlParameter("@in_Huang", SqlDbType.Char, 10); Huang.Direction = ParameterDirection.Input; Huang.Value = textBox6.Text.Trim(); cmd.Parameters.Add(Huang); try { conn.Open(); int a = cmd.ExecuteNonQuery(); if (a != 0) { MessageBox.Show("添加成功"); } } catch { MessageBox.Show("添加出错!"); } finally { conn.Close(); } }
根据你输入的汉子 自动生成五笔代码和拼音代码(简码:取每个汉子的拼音的首字母或者每个汉子的五笔的首字母)本人写了两个存储过程 其实几乎差不多 但是往往啊 会因为一点点小问题导致代码失败 不过 下面的两个存储过程都是成功的 我是因为那么一点点小问题测试了一个上午才搞定了的:对应存储过程 output的参数 一定要先set@=‘’一下才能使用 否则即便是output被赋值了 可以print,但是通过程序代码还是获取不到值的 如下:(具体的在附件里哦,附件里有表数据和存储过程和c#程序代码片段):--drop procedure ChineseCode; ----------一 create procedure ChineseCode(@strkey varchar(30),@rekeysPY varchar(30) output, @rekeysWB varchar(30) output) as declare @keylength int declare @nowstep int declare @temppy varchar(20) declare @tempwb varchar(20) declare @tempkey varchar(4) declare @strpy varchar(30) declare @strwb varchar(30) set @keylength=len(@strkey) set @nowstep=1 set @strpy='' set @strwb='' 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 end set @rekeysPY=@strpy set @rekeysWB=@strwb print @rekeysPY+'--'+@rekeysWB end GO --------------------二 --drop procedure ChineseCode; create procedure ChineseCode ( @strkey varchar(30) , @rekeysPY varchar(30) output, @rekeysWB varchar(30) output) as declare @keylength int declare @i int declare @temppy varchar(10) declare @tempwb varchar(10) declare @tempkey varchar(2) set @keylength=len(@strkey) set @i=1 set @temppy='' set @tempwb='' set @rekeysPY='' set @rekeysWB='' begin while (@i<=@keylength) 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 print @rekeysPY+'--'+@rekeysWB end GO ----------------三 c#代码 PubClass.ContSql db = new MilkDisPatchingManage.PubClass.ContSql(); SqlCommand sqlcmd = new SqlCommand(); sqlcmd.CommandType = CommandType.StoredProcedure; sqlcmd.CommandText = "ChineseCode"; sqlcmd.Parameters.Add("@strkey", SqlDbType.VarChar, 30); sqlcmd.Parameters["@strkey"].Value=this.textBox1.Text.Trim();//.Direction=ParameterDirection.Input; sqlcmd.Parameters.Add("@rekeysPY", SqlDbType.VarChar,30); sqlcmd.Parameters["@rekeysPY"].Direction = ParameterDirection.Output; sqlcmd.Parameters.Add("@rekeysWB", SqlDbType.VarChar,30); sqlcmd.Parameters["@rekeysWB"].Direction = ParameterDirection.Output; int i= db.ExtCom(sqlcmd); this.textBox2.Text = sqlcmd.Parameters["@rekeysPY"].Value.ToString(); this.textBox3.Text = sqlcmd.Parameters["@rekeysWB"].Value.ToString(); db.CloseCon();

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧