c# - 在 C# MySqlCommand.CommandText 中使用 SQL 关键字

标签 c# mysql syntax

我正在将我的存储过程转移到 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/

相关文章:

c# - BitBlt 屏幕捕获在 Windows 10 上不起作用

C# 编程如何从文本文件中 grep 列/行?

c# - MimeKit 字符编码/解码问题

mysql - 未记录的 MySQL 对多个单词使用 LIKE 运算符

javascript - 为什么会出现分号语法错误?

vbscript - 检查 VBScript 语法

C# 应用程序关闭其自身的第一个实例

mysql - 如何使用此功能显示计数?

MYSQL - 想要选择一些行,有时该字段不存在,但我想在该字段存在时使用 WHERE

php - 同一张表中有多个外键