调用带有返回参数的存储体问题
create procedure login1
(
@name varchar(20),
@pwd varchar(12),
)
as
select count(*) from consumers where consumername = @name and
password = @pwd
return @@rowcount
go
create procedure login2
(
@name varchar(20),
@pwd varchar(12),
@@hava int output
)
as
select @@hava=count(*) from consumers where consumername = @name and password = @pwd
上面的两个存储体,在.net里面我要怎样运行存储体时才能得到返回的参数。
string sqlstr = "server = hy-9; uid=sa; pwd=z; database=test";
sqlconnection sqlcon = new sqlconnection(sqlstr);
sqlcon.open();
sqlcommand sqlcmd = new sqlcommand("login", sqlcon);
sqlcmd.commandtype = commandtype.storedprocedure;
//sqlcommandbuilder.deriveparameters(sqlcmd);
sqlcmd.parameters.add("@name", sqldbtype.nvarchar,20, "consumername");
sqlcmd.parameters.add("@pwd",sqldbtype.nvarchar, 12, "password");
sqlcmd.parameters.add("@@hava",sqldbtype.int);
sqlcmd.parameters["@@hava"].direction = parameterdirection.output;
sqlcmd.parameters["@name"].value = "liumin";
sqlcmd.parameters["@pwd"].value = "123";
sqlcmd.executenonquery
textbox1.text = sqlcmd.parameters["@@hava"].value.tostring()+"kk";
上面总是说没有@@hava这个参数。
有哪位高手能指点么。
推荐阅读
不知道。帮你up
return firstcommand.parameters["@strprice"].value.tostring();
上句就是存储过程返回值,希望呢对你有用


讨论区