[英]MySQL/C# Stored Procedure Not Returning Value
我一直很難從存儲過程向C#應用程序返回值。 該過程在MySql工作台中返回一個值,而不是C#。 在C#輸出中,沒有顯示任何值。 以下是我調用的以下過程和方法:
/*
CREATE PROCEDURE `proc_FindChildID` (OUT CID VARCHAR(6))
BEGIN
SELECT MAX(ChildID) INTO @CID FROM Child;
SET @CID = SUBSTRING(@CID FROM 1);
SELECT @CID;
END //
*/
public bool callProcedure()
{
if (this.OpenConnection() == true)
{
MySqlCommand command = connection.CreateCommand();
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "proc_FindChildID";
command.Parameters.Add(new MySqlParameter("@CID", MySqlDbType.VarChar, 6));
command.Parameters["@CID"].Direction = ParameterDirection.Output;
command.ExecuteNonQuery();
string t_return = command.Parameters["@CID"].Value.ToString();
Console.WriteLine("ID:" + t_return);
this.CloseConnection();
return true;
}
else
{
return false;
}
}
我不知道MySqlCommand,但是通常如果它是MSSQL,我會調用object o = command.ExecuteScalar();
而不是command.ExecuteNonQuery();
獲得價值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.