簡體   English   中英

MySQL / C#存儲過程未返回值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM