c# - 执行具有多个输出参数的过程时出现错误 'Input String was not in a correct format'

标签 c# mysql

            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 字符串格式不正确?? [在线执行非查询时出错]

最佳答案

如果需要从读取器读取值,请使用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
    }
}

关于c# - 执行具有多个输出参数的过程时出现错误 'Input String was not in a correct format',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27384407/

相关文章:

c# - 如何将复杂类型转换为 actionresult

c# - 如何将命令行参数传递给 docker run 并打印它?

php - 使用 AJAX 向服务器发送数据?

c# - Form.Show()不适用于1台特定计算机

C# 系统.IO.DirectoryNotFoundException : Could not find a part of the path

C# 字典如何从文件中读取键=值

mysql - VB.NET MySqlCommand 存储过程参数顺序?

mysql - 如何使用 utf8_unicode_ci 处理区分大小写的列

mysql - 在mysql中创建触发器

php - 更新我的数据库中User_id = 1的值