Я делаю объект OleDb.OleDbDataAdaptor для заполнения объекта DataTable.В конструкции OleDbDataAdaptor я инициализирую его так:
Dim adapter As New OleDb.OleDbDataAdapter(sql, myConnection)
, где sql - моя строка запроса, подобная этой:
Dim sql = "SELECT * FROM DBTable TC WHERE TC.Text=N'Criteria'"
Я использую предшествующую заглавную букву N, потому что поле«Текст» в таблице «DBTable» должен быть в юникоде.И myConnection представляет соединение с одним из моих файлов MDB, где определяется DBTable.
Однако, когда я выполняю adaptor.Fill (myDataTable), он завершается неудачно и выдает исключение: Синтаксическая ошибка (отсутствует оператор) в выражении запроса 'TC.Text = N'Criteria' '.Кто-нибудь знает, что здесь произошло?Я узнал, что для того, чтобы продолжить текст Unicode, N необходимо.Другой вопрос, как я могу убедиться, что поле в файле MDB действительно в Unicode?Потому что я вижу только то, что поле Тип данных имеет значение «Текст», и я использую Access 2003, поэтому я могу только предполагать, что оно в Юникоде.На самом деле я включаю сжатие Юникодом для поля, и, как вы можете видеть в тексте «Критерии», где все равно нет специальных символов.
Спасибо за любую помощь!