【问题标题】:Mysql stored procedure with two OUT parameters and c#带有两个OUT参数和c#的Mysql存储过程
【发布时间】:2015-11-20 20:18:44
【问题描述】:

我有一个带有两个 OUT 参数的 MySQL 存储过程,如下所示。

CREATE `GetCourses`(out UG varchar(20),out PG varchar(20))
BEGIN
 SELECT course_name into UG FROM test_db.courses where group_id=1;
 select course_name into PG from test_db.courses where group_id=2;
END

现在在 windows 窗体中,我有两个组合框,其中第一个组合框应与 OUT 变量 UG 绑定,另一个组合框应与另一个 OUT 变量 PG 绑定。

如何使用 c# 实现这一点?

提前致谢。

【问题讨论】:

  • 对于那些感兴趣的人,我展示了一个 MySQL / c# Visual Studio 2015 工作示例HERE。这种情况是 IN 和 OUT 参数之一。焦点自然是OUT

标签: c# mysql stored-procedures combobox


【解决方案1】:

会是这样的......

//Basic command and connection initialization 
MySqlConnection conn = new MySqlConnection(ConnectString);
MySqlCommand cmd = new MySqlCommand("GetCourses", conn);
cmd.CommandType = System.Data.CommandType.StoredProcedure;


// Add parameters
cmd.Parameters.Add(new MySqlParameter("?UG", MySqlDbType.VarChar));
cmd.Parameters["?UG"].Direction = ParameterDirection.Output;

cmd.Parameters.Add(new MySqlParameter("?PG", MySqlDbType.VarChar));
cmd.Parameters["?PG"].Direction = ParameterDirection.Output;

// Open connection and Execute 
conn.Open();
cmd.ExecuteNonQuery();

// Get values from the output params
string PG = (string)cmd.Parameters["?PG"].Value;
string UG = (string)cmd.Parameters["?UG"].Value;

【讨论】:

  • 感谢您的建议。但是 OUT 参数将具有一组值。例如,UG 将具有值 'BCOM,BSC,BED'.. 我希望这些与组合框绑定.. 你能建议..
【解决方案2】:
DELIMITER $$
CREATE PROCEDURE `surveydb`.`getSurveyWithNameAndAddress` (IN surveyId INT, IN phoneNumber VARCHAR(255),
    OUT surName VARCHAR(255), OUT surAddress VARCHAR(255))
BEGIN
    SELECT su.`name`,su.`address` INTO surName,surAddress  FROM survey AS su 
    WHERE su.`survey_id`=surveyId AND su.`phone`=phoneNumber;

END

如果你想要丢弃程序

删除程序 getSurveyWithNameAndAddress


如下调用上述过程

调用 getSurveyWithNameAndAddress(2,9888710807, @name, @surAddress);

选择 @surAddress 作为地址,@name 作为 na

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-02
    • 2017-09-18
    • 1970-01-01
    • 2020-01-09
    • 1970-01-01
    • 2012-11-03
    相关资源
    最近更新 更多