繁体   English   中英

在执行带有多个out参数的过程时,出现错误“输入字符串格式不正确”

[英]While Executing Procedure with multiple out parameter getting an error 'Input String was not in a correct format'

            MyCmd = new MySqlCommand("SELECT FnGetTransDate()", MyCon);
            MyCon.Open();
            MyRead = MyCmd.ExecuteReader();
            MyRead.Read();
            transdate = Convert.ToDateTime(MyRead.GetValue(0).ToString());
            MyRead.Close();
            MyCmd = new MySqlCommand("SpGenProcess", MyCon);
            MyCmd.CommandType = CommandType.StoredProcedure;
            MyCmd.Parameters.AddWithValue("@tempprocessidlist", idlist);
            MyCmd.Parameters.AddWithValue("@prdate",Convert.ToDateTime(transdate.ToShortDateString()));
            MyCmd.Parameters.AddWithValue("@out_status", MySqlDbType.Int32);
            MyCmd.Parameters.AddWithValue("@out_msg", MySqlDbType.VarChar);
            MyCmd.Parameters["@out_status"].Direction = ParameterDirection.Output;
            MyCmd.Parameters["@out_msg"].Direction = ParameterDirection.Output;
            MyCmd.ExecuteNonQuery();
            int.TryParse(MyCmd.Parameters["@out_status"].Value.ToString(), out outstatus);
            ErMsg = MyCmd.Parameters["@out_msg"].Value.ToString();

在执行语句'MyCMd.ExecuteNonQuery()'时出错Inupt字符串格式不正确? [在线ExecuteNonQuery错误]

如果需要从阅读器读取值,请使用ExecuteReader

var reader = MyCmd.ExecuteReader();
if (reader.HasRows)
{
    if (reader.Read())
    {
        int status  = (int)reader["out_status"];//breakpoint here
        string msg = (string)reader["out_msg"]; //here also
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM