日期:2014-05-20  浏览次数:20469 次

|M| 一个存储过程在ASP.net里面要怎么用  谢谢  急
我表有
table11
id       name

这是CSDN朋友给的返回ID的存储过程
CREATE   PROCEDURE   [insert_Table11_1]
(
@name_1   [nvarchar](50),
@OutID   int   output
)

AS  
INSERT   INTO   [HotelBook].[dbo].[Table11]  
  (   [name])    
VALUES  
(   @name_1)

SET   @OutID   =   (SELECT   scope_identity()   )
GO

然后我的代码如下:
ASP.net执行:
SqlConnection   conn=new   SqlConnection(“connectionString”);
SqlCommand   com   =   new   SqlCommand();
com.Connection=conn;
com.CommandText= "insert_Table11_1 "
com.CommandType   =   CommandType.StoredProcedure;
??然后下面是怎么写的我是返回addid=添加返回的值
能不能帮我写完不整 
谢谢

------解决方案--------------------
SqlParameter parameter = new SqlParameter( "@OutID ", SqlDbType.Int32);
parameter.Direction = ParameterDirection.Output;
com.Parameters.Add(parameter);
com.Connection.Open();
com.ExecuteNonQuery();
int outID = (int)com.Parameters[ "@OutID "].value; // 获得返回值
com.Connection.Cloase();

------解决方案--------------------
value 应是 Value
sorry
------解决方案--------------------
还有那里是 SqlDbType.Int 不是 Int32
------解决方案--------------------
就差传入参数了
com.Parameters.Add( "@name_1 ", SqlDbType.NVarChar, 50);
com.Parameters[ "@name_1 "].Value = someString; // someString 替换成你提供的传入字符串2.0 的话可以直接
com.Parameters.AddWithValue( "@name_1 ", someString);
------解决方案--------------------
详细的例子
http://www.5d.cn/Tutorial/webdevelop/.net/200412/1960.html
------解决方案--------------------
上面的代码少传了一个参数@name_1
------解决方案--------------------
SqlConnection conn=new SqlConnection(“connectionString”);
SqlCommand com = new SqlCommand();
com.Connection=conn;
com.CommandText= "insert_Table11_1 " //这里应该是你的存储过程名 insert_Table11_1
com.CommandType = CommandType.StoredProcedure;
SqlParameter[] parameter = { new SqlParameter( "@name_1 ", SqlDbType.NVarChar, 50), new SqlParameter( "@OutID ", SqlDbType.Int32)};
parameter[0].Value = name_1; //假设这个变量是你再前面定义获取的
parameter[1].Direction = ParameterDirection.Output;
com.Parameters.Add(parameter[0]);
com.Parameters.Add(parameter[1]);
com.Connection.Open();
com.ExecuteNonQuery();
int outID = Convert.ToInt32(Parameters[1].value); // 获得返回值
com.Connection.Cloase();