gpt4 book ai didi

c# - C#调用mysql存储过程的方法

转载 作者:行者123 更新时间:2023-11-30 22:00:50 26 4
gpt4 key购买 nike

我想从 c# 调用 Mysql 存储过程。我在 mysql 查询浏览器中运行相同的程序。这是关于从给定的输入年、月、日和当前日期获取到期日。 This is the output

      DELIMITER $$

DROP PROCEDURE IF EXISTS `passbook`.`maturity_date` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `maturity_date`(IN `stdate`
DATE, IN `adyear` INT(4), IN `amonth` INT(2), IN `adays` INT(2), INOUT
`matdate` DATE)
NO SQL
Begin
declare new_date , pstdate date;

set new_date = stdate;

if adyear > 0 then

SELECT date_add(stdate, INTERVAL adyear year) into pstdate;

set new_date = pstdate;
end if;


if amonth > 0 then

SELECT date_add(new_date, INTERVAL amonth MONTH) into pstdate;
set new_date = pstdate;
end if;

if adays > 0 then

SELECT date_add(new_date, INTERVAL adays DAY) into pstdate;
set new_date = pstdate;
end if;


Set matdate = new_date;
Select matdate;
end $$

DELIMITER ;

getting error Image

最佳答案

试试这个:

            var ConnectionString="Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword";            
var sqlParameters = new List<SqlParameter>();
var storedProcedureName = "SPName";

//add parameters with value and type here
sqlParameters.Add(new SqlParameter { SqlDbType = SqlDbType.Int, ParameterName = "@adyear", Value = adyear});
sqlParameters.Add(new SqlParameter { SqlDbType = SqlDbType.Int, ParameterName = "@amonth", Value = amonth});
sqlParameters.Add(new SqlParameter { SqlDbType = SqlDbType.Int, ParameterName = "@adys ", Value = adys });

//execute store procedure here
using (var connection = new SqlConnection(ConnectionString))
using (var command = new SqlCommand(storedProcedureName, connection) { CommandTimeout = 160, CommandType = commandType })
using (var dataAdaptor = new SqlDataAdapter(command))
{
command.Parameters.AddRange(sqlParameters);

connection.Open();
dataAdaptor.Fill(dS);
}

您也可以使用 Mysql.Data 我相信这是最简单的方法。你不需要任何其他东西来使用 mysql 数据库。

PM> Install-Package MySql.Data

您可以将连接字符串存储在文件中。只需创建一个文件并将连接字符串放在上面即可。然后在静态类中阅读它。像这样:

CS = File.ReadAllText(YourDataBaseConfigFilePath);

然后将其用作您的连接字符串。

关于c# - C#调用mysql存储过程的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43425310/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com