sql-server-2005 – 在SQL Server 2005中向存储过程添加参数之间
我想知道这两个符号之间的区别. 首先,我有一个存储过程 CREATE PROCEDURE AddSomething( @zonename varchar(50),@desc varchar(255),@TheNewId int OUTPUT ) AS BEGIN INSERT INTO a_zone(zonename,descr) VALUES(@zonename,@desc) SELECT @TheNewId = SCOPE_IDENTITY() END 如果我以这种方式添加参数有什么区别 SqlCommand Cmd = new SqlCommand("AddSomething",oConn); Cmd.CommandType = CommandType.StoredProcedure; SqlParameter oParam1 = Cmd.Parameters.AddWithValue("@zonename",sName); SqlParameter oParam2 = Cmd.Parameters.AddWithValue("@desc",description); 和 SqlCommand Cmd2 = new SqlCommand("AddSomething",oConn); Cmd2.CommandType = CommandType.StoredProcedure; cmd2.Parameters.Add("@zonename",SqlDbType.VarChar).Value = zonename.Text.Trim(); cmd2.Parameters.Add("@desc",SqlDbType.VarChar).Value = desc.Text.Trim(); 请帮帮我 谢谢你的期待 解决方法以下是一些解释:difference between command Add and AddWithValue Dim cmd as new SqlCommand("SELECT * FROM MyTable WHERE MyDate>@TheDate",conn) cmd.Parameters.Add("@TheDate",SqlDbType.DateTime).Value="2/1/2007" VS cmd.Parameters.AddWithValue("@TheDate","2/1/2007") “当进入参数时,Add强制从字符串到日期的转换.AddWithValue只是将字符串传递给SQL Server.
> http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters.aspx 编辑: 获取输出参数的示例: C# cmd.Parameters.Add(new SqlParameter("@TheNewId",SqlDbType.Int,int.MaxValue)); cmd.Parameters("@TheNewId").Direction = ParameterDirection.Output; cmd.ExecuteNonQuery(); int theNewID = (int)cmd.Parameters("@TheNewId").Value; VB.Net cmd.Parameters.Add(New SqlParameter("@TheNewId",Int32.MaxValue)) cmd.Parameters("@TheNewId").Direction = ParameterDirection.Output cmd.ExecuteNonQuery() Dim theNewID As Int32 = DirectCast(cmd.Parameters("@TheNewId").Value,Int32) (编辑:新余站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 看高清晰电影,下载我用OP!
- sql-server – EF Code First对所有字符串使用nvarchar(max
- sql-server – 如何确定SQL结果的数据类型?
- sql-server-2008 – 在EF4中控制ArithAbort
- sql – ORA-00907缺少右括号问题 – 通过内部插入查询选择顺
- sql-server – 在同一个VM上运行2个SQL Server 2014实例是否
- sql-server – 是否可以使用免费版本的SQL Server安装Team
- Windows Server访问微软VDI页面“不允许下载该文件”的解决
- Google系统出现BUG 导致数千个网站被挡门外
- sql-server – 如何故意造成死锁?