S_Yash Ответов: 1

Каким будет правильный запрос для count (*) в C#?


Это мой код подсчета для отображения ошибки, если данные уже существуют в базе данных
MySqlCommand cmd = new MySqlCommand("SELECT COUNT(*) FROM tbl_register WHERE ([Email_Id] = @Email_Id)", con);

И ошибка проявляется вот так:
У вас есть ошибка в синтаксисе SQL; проверьте руководство, которое соответствует вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '[Email_Id] = @Email_Id)' в строке 1

Что я уже пробовал:

Я пробовал, как клаузула.
это делается путем добавления параметров

Graeme_Grant

@Email_Id ожидает параметр перед выполнением. Вы проходите мимо одного? Где остальная часть вызывающего кода?

Simon_Whale

вы пробовали запустить запрос непосредственно в MySql?

1 Ответов

Рейтинг:
2

Bernhard Hiller

Вы используете MySQL, а не Microsoft SQL Server. Следовательно, эти квадратные скобки нельзя использовать для экранирования имен полей. В MySQL вы используете backticks ` вместо. Но в любом случае вам не нужно экранировать имя поля здесь, это не зарезервированное слово и не содержит пробелов.

MySqlCommand cmd = new MySqlCommand("SELECT COUNT(*) FROM tbl_register WHERE (Email_Id = @Email_Id)", con);
Кроме того, убедитесь, что у вас есть индекс на Email_Id.