-2

I have create procedure code. When I try run create procedure codes in phpmyadmin, it is works. But when I try run in c#, it is return error like that:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER !!

Create Procedure Code:

DELIMITER ;;
CREATE DEFINER=`root`@`localhost` PROCEDURE `update_alldoctorname`(IN `p_doktor` VARCHAR(65) CHARSET latin5, IN `p_eski` VARCHAR(65) CHARSET latin5)
    NO SQL
    BEGIN
UPDATE users SET hekim=p_doktor WHERE hekim=p_eski;
UPDATE tedavi SET tedavi_doktor=p_doktor WHERE tedavi_doktor=p_eski;
UPDATE medikal SET doktor=p_doktor WHERE doktor=p_eski;
UPDATE cek_devreden SET unvan=p_doktor WHERE unvan=p_eski;
END
;;
DELIMITER ;

How can I fix it?

Kamil Kunt
  • 27
  • 6

1 Answers1

0

You can't use the DELIMITER ;; syntax with MySqlCommand in C#. Instead, just use the body of the CREATE PROCEDURE statement as the MySqlCommand.CommandText and execute it:

using (var command = yourConnection.CreateCommand())
{
    command.CommandText = @"CREATE DEFINER=`root`@`localhost` PROCEDURE `update_alldoctorname`(IN `p_doktor` VARCHAR(65) CHARSET latin5, IN `p_eski` VARCHAR(65) CHARSET latin5)
    NO SQL
    BEGIN
        UPDATE users SET hekim=p_doktor WHERE hekim=p_eski;
        UPDATE tedavi SET tedavi_doktor=p_doktor WHERE tedavi_doktor=p_eski;
        UPDATE medikal SET doktor=p_doktor WHERE doktor=p_eski;
        UPDATE cek_devreden SET unvan=p_doktor WHERE unvan=p_eski;
    END";
    command.ExecuteNonQuery();
}
Bradley Grainger
  • 27,458
  • 4
  • 91
  • 108