+ -
当前位置:首页 → 问答吧 → 这段代码怎样解释---ParameterDirection

这段代码怎样解释---ParameterDirection

时间:2011-12-13

来源:互联网

C# code


 public int AddUser(string strName, string strPassword, string strRealName, bool blSex, string strPhonecode, string strEmail, string strAddress, string strPostCode)
    {
        SqlCommand myCmd =dbObj.GetCommandProc("proc_AddUser");
        //添加参数
        SqlParameter name = new SqlParameter("@UserName", SqlDbType.VarChar, 50);
        name.Value = strName;
        myCmd.Parameters.Add(name);
        //添加参数
        SqlParameter password = new SqlParameter("@Password", SqlDbType.VarChar, 50);
        password.Value = strPassword;
        myCmd.Parameters.Add(password);
        //添加参数
        SqlParameter realName = new SqlParameter("@RealName", SqlDbType.VarChar, 50);
        realName.Value = strRealName;
        myCmd.Parameters.Add(realName);
        //添加参数
        SqlParameter sex = new SqlParameter("@Sex", SqlDbType.Bit, 1);
        sex.Value = blSex;
        myCmd.Parameters.Add(sex);
        //添加参数
        SqlParameter phonecode = new SqlParameter("@Phonecode", SqlDbType.VarChar, 20);
        phonecode.Value = strPhonecode;
        myCmd.Parameters.Add(phonecode);
        //添加参数
        SqlParameter email = new SqlParameter("@Email", SqlDbType.VarChar, 50);
        email.Value = strEmail;
        myCmd.Parameters.Add(email);
        //添加参数
        SqlParameter address = new SqlParameter("@Address", SqlDbType.VarChar, 200);
        address.Value = strAddress;
        myCmd.Parameters.Add(address);
        //添加参数
        SqlParameter postCode = new SqlParameter("@PostCode", SqlDbType.Char, 10);
        postCode.Value = strPostCode;
        myCmd.Parameters.Add(postCode);
        //添加参数
        SqlParameter ReturnValue = myCmd.Parameters.Add("ReturnValue", SqlDbType.Int, 4);
        ReturnValue.Direction = ParameterDirection.ReturnValue;
        dbObj.ExecNonQuery(myCmd);
        return Convert.ToInt32(ReturnValue.Value.ToString());
    }



在练习一个注册的方法时,遇到了这段代码,
C# code

   SqlParameter ReturnValue = myCmd.Parameters.Add("ReturnValue", SqlDbType.Int, 4);
        ReturnValue.Direction = ParameterDirection.ReturnValue;
        dbObj.ExecNonQuery(myCmd);
        return Convert.ToInt32(ReturnValue.Value.ToString());



不知道是什么意思
转到定义看,有这些代码:
C# code

 // 摘要:
    //     指定查询内的有关 System.Data.DataSet 的参数的类型。
    public enum ParameterDirection
    {
        // 摘要:
        //     参数是输入参数。
        Input = 1,
        //
        // 摘要:
        //     参数是输出参数。
        Output = 2,
        //
        // 摘要:
        //     参数既能输入,也能输出。
        InputOutput = 3,
        //
        // 摘要:
        //     参数表示诸如存储过程、内置函数或用户定义函数之类的操作的返回值。
        ReturnValue = 6,
    }


作者: dwxgundam   发布时间: 2011-12-13

这个是有关于sqlserver的知识了,sqlserver存储过程有输入参数,输出参数,及过程返回值

你这里就是在使用返回值

所以不能仅仅学习ado.net sqlclient。

作者: chromeV8   发布时间: 2011-12-13

C# code

//为myCmd对象添加一个参数
SqlParameter ReturnValue = myCmd.Parameters.Add("ReturnValue", SqlDbType.Int, 4);
//指明这个参数是返回值参数  如果不知道 可以了解一下 存储过程 OUT参数
        ReturnValue.Direction = ParameterDirection.ReturnValue;
//执行存储过程 
        dbObj.ExecNonQuery(myCmd);
//返回存储过程的结果
        return Convert.ToInt32(ReturnValue.Value.ToString());




http://msdn.microsoft.com/zh-cn/library/system.data.parameterdirection(VS.80).aspx

作者: CODE163   发布时间: 2011-12-13

这是数据库中存贮过程中用到的知识,我们在写存储过程是,避免不了有输入参数以及输出参数,就像上面的有位哥们说的,这是输出参数,还有输入参数ReturnValue.Direction = ParameterDirection.Input 好像是这样写的,你在vs上面试一下是不是这样的

作者: bmjw5   发布时间: 2011-12-13