读书人

|M| 一个存储过程在ASP.net里面要如何

发布时间: 2011-12-31 23:50:30 作者: rapoo

|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();

读书人网 >asp.net

热点推荐