c # oledb исключение типа данных произошла ошибка в запросе выбора - PullRequest
0 голосов
/ 16 мая 2018

Я пытаюсь создать форму для редактирования представления данных, связывающего данные с базой данных доступа, но когда я запрашивал базу данных, он выдал исключение «Несоответствие типов данных в выражении критериев». Вот мой код / ​​запрос на выборку:

OleDbCommand cmd = conn.CreateCommand();
string query = "SELECT * FROM DataServisan WHERE NomorNota=?";

conn.Open();

cmd.CommandText = query;

cmd.Parameters.Add(new OleDbParameter { Value = nomorNota, DbType = DbType.String });

OleDbDataReader dr = cmd.ExecuteReader();

1 Ответ

0 голосов
/ 16 мая 2018

Нет DbType.String в OleDbType определении перечисления. Вы можете использовать VarChar, VarWChar, LongVarChar или LongVarWChar в зависимости от длины строкового значения при использовании OleDbParameter конструктор :

var parameter = new OleDbParameter("ParamName", OleDbType.VarWChar);
parameter.Value = nomorNota;
cmd.Parameters.Add(parameter);

Альтернативный способ определения значения параметра:

cmd.Parameters.Add("ParamName", OleDbType.VarWChar);
cmd.Parameters["ParamName"].Value = nomorNota;

Ссылки

Класс OleDbParameter (документы MSDN)

OleDbParameterCollection.Add Method (документы MSDN)

Перечисление OleDbType и типы данных Microsoft Access (поддержка MS)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...