OdbcCommand.Parameters.AddWithValue не вставляет значение [duplicate]

неопределенная ссылка на WinMain@16 или аналогичную «необычную» main() ссылку на точку входа (особенно для ).

Вы возможно, пропустили, чтобы выбрать правильный тип проекта с вашей реальной IDE. IDE может захотеть связать, например. Проекты приложений Windows для такой функции точки входа (как указано в недостающей ссылке выше) вместо обычной int main(int argc, char** argv);.

Если ваша среда IDE поддерживает Plain Console Projects , вы может захотеть выбрать этот тип проекта вместо проекта приложения Windows.


Здесь case1 и case2 обрабатываются более подробно из реальный мир проблема.

14
задан jvdhooft 6 August 2013 в 15:27
поделиться

2 ответа

Odbc не может использовать именованные параметры. Это означает, что в командной строке используются заполнители для каждого параметра, и этот заполнитель является единственным вопросительным знаком, а не именем параметра.

OdbcCommand.Parameters

Затем вам нужно добавить параметры в коллекции в том же порядке, в котором они появляются в командной строке

OdbcCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM [user] WHERE id = ?";
cmd.Parameters.Add("@id", OdbcType.Int).Value = 4;
OdbcDataReader reader = cmd.ExecuteReader();

У вас также есть другая проблема: слово USER является зарезервированным ключевым словом для MS Access Database, и если вы хотите использовать его как имя поля или имя таблицы, тогда требуется заключить каждую ссылку в квадратные скобки. Я настоятельно рекомендую, если это возможно, изменить это имя таблицы, потому что вы будете сталкиваться с этой проблемой очень часто.

29
ответ дан Steve 25 August 2018 в 19:38
поделиться

используйте "?" вместо @, если вы используете ODBC.

Попробуйте сделать следующее:

OdbcCommand cmd = conn.CreateCommand();

cmd.CommandText = "SELECT * FROM user WHERE id = ?";
cmd.Parameters.Add("@id", OdbcType.Int).Value = 4;
OdbcDataReader reader = cmd.ExecuteReader();
9
ответ дан C Sharper 25 August 2018 в 19:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: