Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.23;
Скачать: CL | DM;

Вниз

Ошибка выполнения 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
15-1195574695
TwentyThird
2007-11-20 19:04
2007.12.23
Карта звездного неба в реальном времени: созвездия, планеты...


2-1196410006
IvanB
2007-11-30 11:06
2007.12.23
ООП


2-1196076386
новый новичок
2007-11-26 14:26
2007.12.23
Как защититься от совместного досупа к файлу в данном случае?


15-1195525074
Черный Шаман
2007-11-20 05:17
2007.12.23
Технологический нарыв


15-1195804128
TUser
2007-11-23 10:48
2007.12.23
Посоветуйте маршрутизатор