using (SqlConnection conn = new SqlConnection("连接字符串")) { SqlCommand com = conn.CreateCommand(); com.CommandText = "存储过程名称"; com.CommandType = CommandType.StoredProcedure; SqlParameter[] pams = new SqlParameter[]{ new SqlParameter("@RloginName ",SqlDbType.VarChar,100), new SqlParameter("@RloginNameE",SqlDbType.VarChar,100), new SqlParameter("@RloginPwd ",SqlDbType.VarChar,100), new SqlParameter("@returnvalue",SqlDbType.VarChar,100), }; pams[0].Value = ""; pams[1].Value = ""; pams[2].Value = ""; pams[3].Value = ""; pams[3].Direction = ParameterDirection.Output; int iCount = com.ExecuteNonQuery(); int id = pams[3].Value.ToString(); }
关键还是用户名界面输入的用户名不确定,不知道用parameter 如何去判断
更正一下 create table Person ( PersonId int identity(1,1), RloginName nvarchar(1000), RloginNameE nvarchar(1000), RloginPwd nvarchar(500)) 是存储2个不同的字段
select @returnvalue= count(*) from person where RloginPwd=@RloginPwd and RloginName=@RloginName or RloginNameE=@RloginNameE 这个应该要改为:select @returnvalue= count(*) from person where RloginPwd=@RloginPwd and (RloginName=@RloginName or RloginNameE=@RloginNameE )
多谢回复,现在sql存储过程已经修正alter proc check_userLogin ( @RloginName nvarchar(1000),--输入参数 @RloginNameE nvarchar(1000), @RloginPwd nvarchar(500), --输入参数 @returnvalue int output-- 输出参数 ) as begin select @returnvalue= count(*) from Person where RloginPwd=@RloginPwd and (RloginName=@RloginName or RloginNameE=@RloginNameE) end
using (SqlConnection conn = new SqlConnection("连接字符串"))
{
SqlCommand com = conn.CreateCommand();
com.CommandText = "存储过程名称";
com.CommandType = CommandType.StoredProcedure;
SqlParameter[] pams = new SqlParameter[]{
new SqlParameter("@RloginName ",SqlDbType.VarChar,100),
new SqlParameter("@RloginNameE",SqlDbType.VarChar,100),
new SqlParameter("@RloginPwd ",SqlDbType.VarChar,100),
new SqlParameter("@returnvalue",SqlDbType.VarChar,100),
};
pams[0].Value = "";
pams[1].Value = "";
pams[2].Value = "";
pams[3].Value = "";
pams[3].Direction = ParameterDirection.Output; int iCount = com.ExecuteNonQuery();
int id = pams[3].Value.ToString();
}
create table Person
(
PersonId int identity(1,1),
RloginName nvarchar(1000),
RloginNameE nvarchar(1000),
RloginPwd nvarchar(500)) 是存储2个不同的字段
(
@RloginName nvarchar(1000),--输入参数
@RloginNameE nvarchar(1000),
@RloginPwd nvarchar(500), --输入参数
@returnvalue int output-- 输出参数
)
as
begin
select @returnvalue= count(*) from Person where RloginPwd=@RloginPwd and (RloginName=@RloginName or RloginNameE=@RloginNameE)
end