存储过程:
use onenight
go
if(exists(select * from sysobjects where name='comeoninsert'))
drop proc comeoninsert
go
create proc comeoninsert
@mess varchar(10) output,
@name varchar(20),
@age int
as
insert into comeon values(@name,@age)
if(@@error>0)
begin
set @mess='失败'
end
else
begin
set @mess='成功'
end
生成是成功!!
查看存储过程---参数里面没有 @mess output?!!
后台代码:
string name = txtname.Text;
int age = int.Parse(txtage.Text);
string connStr = "Data Source=.;Initial Catalog=onenight; User Id=sa;Pwd=sa";
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
SqlCommand cmd = new SqlCommand("pro_comeoninsert", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@name", SqlDbType.VarChar, 20).Value = name;
cmd.Parameters.Add("@age", SqlDbType.Int).Value = age;
// 获得输出参数
cmd.Parameters.Add("@mess", SqlDbType.VarChar, 10);
cmd.Parameters["@mess"].Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();//错误:为过程或函数 pro_comeoninsert 指定了过多的参数。
string getmess = (string)cmd.Parameters["@mess"].Value;
conn.Close();
MessageBox.Show("插入成功" + getmess);到底哪里错了呢?!
use onenight
go
if(exists(select * from sysobjects where name='comeoninsert'))
drop proc comeoninsert
go
create proc comeoninsert
@mess varchar(10) output,
@name varchar(20),
@age int
as
insert into comeon values(@name,@age)
if(@@error>0)
begin
set @mess='失败'
end
else
begin
set @mess='成功'
end
生成是成功!!
查看存储过程---参数里面没有 @mess output?!!
后台代码:
string name = txtname.Text;
int age = int.Parse(txtage.Text);
string connStr = "Data Source=.;Initial Catalog=onenight; User Id=sa;Pwd=sa";
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
SqlCommand cmd = new SqlCommand("pro_comeoninsert", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@name", SqlDbType.VarChar, 20).Value = name;
cmd.Parameters.Add("@age", SqlDbType.Int).Value = age;
// 获得输出参数
cmd.Parameters.Add("@mess", SqlDbType.VarChar, 10);
cmd.Parameters["@mess"].Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();//错误:为过程或函数 pro_comeoninsert 指定了过多的参数。
string getmess = (string)cmd.Parameters["@mess"].Value;
conn.Close();
MessageBox.Show("插入成功" + getmess);到底哪里错了呢?!
参考一下:
http://www.cnblogs.com/yssoft/archive/2009/05/30/1492348.html