我正在将我的存储过程转移到 C# 代码中。 在存储过程中我有类似的东西
Begin
SET @Id = null;
IF ?Status = 0 THEN SET ? ?DateToday = UTC_TIMESTAMP(); END IF;
SELECT * FROM TABLE
END
在 C# 代码中,我只是复制粘贴 Begin 和 END 中的所有内容。像这样,
MySqlCommand command = new MySqlCommand();
command.CommandText = @"SET @Id = null;
IF ?Status = 0 THEN SET ? ?DateToday = UTC_TIMESTAMP(); END IF;
SELECT * FROM TABLE"
我在 If 语句中有一个错误,表示语法不正确。存储过程正在运行,但当我将其放入 C# 代码时却没有运行。
最佳答案
这不是存储过程的逻辑。顾名思义,存储过程是存储在数据库本身中的函数。您可以通过调用它们的名字来调用它们。
因此您不能只将存储过程函数代码放在您的 C# 代码中,我的意思是您不应该这样做。
更新:
如果您只想使用 T-SQL 语句(if-else
block 等),请查看此 link .
关于c# - 在 C# MySqlCommand.CommandText 中使用 SQL 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40583300/