本帖最后由 JAMJIA 于 2010-10-29 16:48:29 编辑

解决方案 »

  1.   


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

  2.   

     关键还是用户名界面输入的用户名不确定,不知道用parameter 如何去判断
      

  3.   

    更正一下
    create table Person
    (
        PersonId     int  identity(1,1),    
        RloginName   nvarchar(1000),
        RloginNameE  nvarchar(1000),
        RloginPwd    nvarchar(500)) 是存储2个不同的字段
      

  4.   

    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 )
      

  5.   

    多谢回复,现在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