我無法弄清楚如何使用Connector/NET 3.6.5提供的MySQLCommand。基本上這裏是我使用的代碼和我運行ExecuteNonQuery時得到的異常。我在這裏做錯了什麼?我沒有想法離開:(使用輸出參數執行MySqlCommand(StoredProcedure)
var connection = GetConnection();
connection.Open();
var command = new MySqlCommand("PredictPaperRankInInterval", connection);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add(new MySqlParameter("p_journalId", SqlDbType.VarChar) { Value = "test" });
command.Parameters.Add(new MySqlParameter("p_publishDate", SqlDbType.DateTime) { Value = paper.PublishDate });
command.Parameters.Add(new MySqlParameter("p_intervalInDays", SqlDbType.Int) { Value = 7 });
command.Parameters.Add(new MySqlParameter("p_viewsCount", SqlDbType.Int) { Value = paper.ViewsCount });
var rank = new MySqlParameter("p_rank", SqlDbType.Int) { Direction = ParameterDirection.Output };
command.Parameters.Add(rank);
command.ExecuteNonQuery();
異常
Input string was not in a correct format.
DDL
CREATE PROCEDURE `PredictPaperRankInInterval`(IN p_journalId VARCHAR(32),
IN p_publishDate DATETIME,
IN p_intervalInDays INT,
IN p_viewsCount INT,
OUT p_rank INT)
你可以張貼調用的存儲過程的簽名 – 2011-06-12 01:57:35
確保參數類型映射正確用於存儲過程中使用的類型。 – Waleed 2011-06-12 01:58:52
:D很高興能有人聰明。必須改用MySqlDbType。 – 2011-06-12 02:08:38