Форум: "Базы";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];
ВнизОшибка выполнения SQL запроса Найти похожие ветки
← →
Lite © (2007-08-15 16:28) [0]объясните пожалуйста почему при выполнении SQL запроса на ADO к базе данных Access "update таблица set поле1 ={fn UCase(поле1)}" для преобразования текста поля1 к верхнему регистру(слово -> СЛОВО), вылезает ошибка "Неверно
сформированный код GUID. в выражении запроса "{fn UCase(naim)}"". Как победить эту ошибку и перевсти данные в верхний регистр?
← →
MsGuns © (2007-08-15 16:33) [1]Ниче не понял. Где текст запроса ?
← →
stanislav © (2007-08-15 16:34) [2]зачем фигурные скобки? и fn?
← →
sniknik © (2007-08-15 16:35) [3]> объясните пожалуйста почему
потому что синтаксисом у jet предусмотрено GUID в кавычках писать, и у тебя в них явно не он...
> и перевсти данные в верхний регистр?
а смысл? все операции со строками в access нечувствительны к регистру...
← →
Lite © (2007-08-15 16:56) [4]to MsGuns Текст запроса:
update таблица set поле1 ={fn UCase(поле1)}
to stanislav
фигурные скобки взяты по примеру который находится в файле справки jetsql40.chm
to sniknik
а смысл в том что через ADO подключил базу таблица.dbf и нужно выполнять отбор записей по условию "Where поле1 Like" используя SQL, а вот в этом случае регистр имеет значение
← →
stanislav © (2007-08-15 16:59) [5]set поле1 =UCase(поле1)
так работает?
в Like учитывается регистр?
← →
Lite © (2007-08-15 17:27) [6]Спасибо всем!
Выражение set поле1 =UCase(поле1) сегодня работает, хотя раньше почему-то отказывалось.
по поводу регистра... как ни странно но при выборе записей из dbf таблицы где есть записи и в верхнем регистре и в нижнем условие Like набранное в верхнем регистре не возвращает записей подходящих по значению, но записанных в нижнем регистре.
← →
sniknik © (2007-08-15 17:32) [7]> а вот в этом случае регистр имеет значение
нет не имеет, раз уж/если ты работаешь через jet, что возможно т.к. "через ADO подключил базу таблица.dbf".
> ... не возвращает записей подходящих по значению ...
т.к. ошибка в 17 строке.
по какому критерию и кто решал что записи подходящие?
← →
Lite © (2007-08-16 13:08) [8]To Sniknik
возможно я не все описал
Все выглядит следующим образом:
Подключение через ODBC
в таблице.dbf две записи по полю1
1. МАЯК БОЛЬШОЙ
2. маяк маленький
Запрос Select поле1 from таблица where поле1 like "%МАЯ%" возвращает только запись "МАЯК БОЛЬШОЙ" хотя должен бы вернуть обе если бы был не чувствителен к регистру.
← →
sniknik © (2007-08-16 13:22) [9]> Подключение через ODBC
> нет не имеет, раз уж/если ты работаешь через jet
естественно у разных провайдеров и поведение разное.
теперь становиться непонятным работа с двумя разными провайдерами при том что один из них работает с обоими типами баз/таблиц.
подозреваю, что следующая порция инфы будет о том, что dbf в формате VFP, работать с которым через jet также как с access-ом совершенно невозможно.
← →
sniknik © (2007-08-16 13:37) [10]> возвращает только запись "МАЯК БОЛЬШОЙ" хотя должен бы вернуть обе если бы был не чувствителен к регистру.
а ведь действительно так и возвращает... сорри, настолько привык при работе с Access, отвык от работы с dbf, что невольно ввел в заблуждение.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.045 c