开发者

Parameter not passed

today i fot one error. i am not able to understand why it is. i hope somebody will help me here

my method is

  public UserFamilyInfoBO GetUserFamilyInfo(Int64 UserId)
        {
            try
            {
                DataSet Ds = new DataSet();
                SqlCommand Cmd = new SqlCommand("GetUserFamilyInfo", Cn);
                SqlDataAdapter Da = new SqlDataAdapter();
                Da.SelectCommand = Cmd;
                Cmd.Parameters.Add("@UserId", SqlDbType.BigInt).Value = UserId;

                Cn.Open();
                Da.Fill(Ds);
                Cn.Close();
                return SetBO(Ds.Tables[0]);
            }
            catch (Exception)
            {
                return null;
            }
        }

when Da.Fill(Ds) is executed it throws error "Proce开发者_运维技巧dure or function 'GetUserFamilyInfo' expects parameter '@UserId', which was not supplied."

i have already added parameter @UserId. and i am getting its value also when debugging. still i am getting the error.


I don't know whether it's relevant, but you haven't specified the type of the command. If this is a stored procedure, try using:

Cmd.CommandType = CommandType.StoredProcedure;

It's possible that it's ignoring the parameter on the grounds that it doesn't appear anywhere in the text of the command - which doesn't make sense for a SQL query, but does make sense for a stored procedure.

If that doesn't help, you might want to look in the logs on SQL Server to see what it's actually being sent.


Maybe you need to set cmd.CommandType to StoredProcedure.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜