Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL/C#存储过程不返回值_C#_Mysql_Stored Procedures - Fatal编程技术网

MySQL/C#存储过程不返回值

MySQL/C#存储过程不返回值,c#,mysql,stored-procedures,C#,Mysql,Stored Procedures,我一直很难从存储过程向C#应用程序返回值。该过程在MySql workbench中返回一个值,但在C#中不返回。在C#输出中没有显示任何值。以下是我调用的过程和方法: /* CREATE PROCEDURE `proc_FindChildID` (OUT CID VARCHAR(6)) BEGIN SELECT MAX(ChildID) INTO @CID FROM Child;

我一直很难从存储过程向C#应用程序返回值。该过程在MySql workbench中返回一个值,但在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.ExecuteOnQuery()
获取值。

我不知道MySqlCommand,但通常如果是MSSQL,我会调用
object o=command.ExecuteScalar()而不是
command.ExecuteOnQuery()获取值。

先生,您是个天才!这解决了我的问题。非常感谢你!先生,你真是个天才!这解决了我的问题。非常感谢你!