任何人都可以帮我解决这个问题吗?我没有经常使用 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/