c# - 如何使用 C# 中的 select 调用 MySQL 存储过程

标签 c# mysql visual-studio stored-procedures

任何人都可以帮我解决这个问题吗?我没有经常使用 C#,我需要使用 1 个输入参数调用 MySQL 存储过程,并且需要写下它的查询输出。

我的存储过程:

CREATE DEFINER=`root`@`%` PROCEDURE `SP_For_Insert`(var_username varchar(50))

BEGIN

Declare counter int default 0;
Select Count(username) into counter From users where username = var_username;
if counter = 0  then
    select 0 as zero_results;
else 
    Select username from users where username=var_username;
end if;
END

我知道如何调用简单查询并存储结果,但我需要它才能工作。

最佳答案

所以我找到了一个解决方案,如果其他人遇到这个问题,我现在就会发布

  //for connection parameters
  private static string connectionString = "datasource=localhost;"+
                                "port=3306;"+
                                "Initial Catalog='authorization_schema';"+
                                "username=admin;"+
                                "password=admin123;";

  MySqlConnection connection = new MySqlConnection(connectionString);

  // construct SQL command with parameters (this way you can call SP also)
  IDbCommand cmd = new MySqlCommand("SELECT account, action FROM AUTHORIZATIONS WHERE username=@UserName", connection);

  // construct parameters
  MySqlParameter usernameParam = new MySqlParameter();
  usernameParam.ParameterName = "@UserName";
  usernameParam.Value = username;

  cmd.Parameters.Add(usernameParam);

  / construct data adapter
  IDataAdapter adapter = new MySqlDataAdapter((MySqlCommand)cmd);

  // construct DataSet to store result
  DataSet ds = new DataSet();
  adapter.Fill(ds);

关于c# - 如何使用 C# 中的 select 调用 MySQL 存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51082981/

相关文章:

c# - 检测 action 是 POST 还是 GET 方法

MySQL - 仅当所有行都不为空时求和,否则返回空

c# - 通过 mysql 和 Entity Framework 中的关系访问表的问题

c# - 使用 Visual Studio 诊断工具调查内存消耗/泄漏

c# - 数组帮助索引超出范围异常未处理

c# - C# 中的二进制数据而不是实际图像

c# - 使用 BackgroundAgent 时程序集丢失

php - 显示和随机化 php 数组

c# - Visual Studio 中 "Prefer 32-bit"设置的用途是什么?它实际上是如何工作的?

visual-studio - 在EnvDTE的Debugger.GetExpression方法中, "UseAutoExpandRules"究竟是什么意思?