首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

引用存储过程中的输出参数出错,请帮忙看看,多谢

2012-01-19 
引用存储过程中的输出参数出错,请帮忙看看,谢谢引用存储过程中的输出参数出错,请帮忙看看,谢谢C#中的代码S

引用存储过程中的输出参数出错,请帮忙看看,谢谢
引用存储过程中的输出参数出错,请帮忙看看,谢谢


C#中的代码

                                    SqlCommand   aCommand   =   new   SqlCommand( "LEM_USER_AUTHENTICATION ",   conn);
                        aCommand.CommandType   =   CommandType.StoredProcedure;
                        aCommand.Parameters.Add(new   SqlParameter( "@USER_ID ",   SqlDbType.VarChar,   20));
                        aCommand.Parameters[ "@USER_ID "].Value   =   user_id;

                        aCommand.Parameters.Add(new   SqlParameter( "@USER_PWD ",   SqlDbType.VarChar,   20));
                        aCommand.Parameters[ "@USER_PWD "].Value   =   user_pwd;

                        aCommand.Parameters.Add(new   SqlParameter( "@TYPE ",   SqlDbType.Decimal));
                        aCommand.Parameters[ "@TYPE "].Direction   =   ParameterDirection.Output;
                     
                        aCommand.Parameters.Add(new   SqlParameter( "@F_LEM ",   SqlDbType.Decimal));
                        aCommand.Parameters[ "@F_LEM "].Direction   =   ParameterDirection.Output;
                     
                        aCommand.Parameters.Add(new   SqlParameter( "@LP_INFO ",   SqlDbType.VarChar,   200));
                        aCommand.Parameters[ "@LP_INFO "].Direction   =   ParameterDirection.Output;
                       
                        aCommand.UpdatedRowSource   =   UpdateRowSource.None;                      

                        aCommand.ExecuteNonQuery();
                        aCommand.Dispose();
                        conn.Close();
                     
                   
                        int   user_type   =   Convert.ToInt32(aCommand.Parameters[ "@TYPE "].Value.ToString());
                        string   f_lem   =   aCommand.Parameters[ "F_LEM "].Value.ToString();
                        string   lp_info   =   aCommand.Parameters[ "LP_INFO "].Value.ToString();



存储过程中的参数设置
@USER_IDVARCHAR(20)   ,
@USER_PWDVARCHAR(20)   ,
@TYPENUMERIC(2,0)=0OUTPUT,
@F_LEMNUMERIC(1,0)   =0   OUTPUT,
@LP_INFO   VARCHAR(200)= ' '                   OUTPUT


[解决办法]
怎么有三个output?
[解决办法]
ommand.Parameters.Add(new SqlParameter( "@F_LEM ", SqlDbType.Decimal));這里是Decimal的
是9位的
@F_LEMNUMERIC(1,0) =0 OUTPUT,這里是numeric是返回的1位

好象不對吧﹗
[解决办法]
此 SqlParameterCollection 中未包含带有 ParameterName“F_LEM”的 SqlParameter
=========================================================================
F_LEM 创建未成功....
[解决办法]
aCommand.Parameters.Add(new SqlParameter( "@F_LEM ", SqlDbType.Decimal));
这里的@F_LEM名字必须和存储过程里的一样,你那里的是@F_LEMNUMERIC
[解决办法]
string f_lem = aCommand.Parameters[ "F_LEM "].Value.ToString();
换成string f_lem = aCommand.Parameters[ "@F_LEM "].Value.ToString();试试

热点排行