簡體   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