![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
сложный Update для таблиц FoxPro не проходит [D7, dBase, FoxPro]
reiler © (2006-10-23 08:22:00)Есть две таблицы FoxPro A, B. Пытаюсь сделать каскадный Update вылезает ошибка класса EOleException with message
'Command contains unrecognized phrase/keyword'Мой запрос:
UPDATE A, B
SET A.a1 = B.b1
WHERE A.a2 = B.b2;
Помогите, пожалуйста.
reiler (2006-10-23 14:55:00) [1]Спасибо, хоть разъяснили чайнику откуда у него ручка торчит))))), а тож
думал все просто, млин), захотел - сделал, ан нифига. Раскрыли глаз пред
светом Божьим одним словом).
sniknik (2006-10-23 14:43:00) [2]> а давай назовем это поточное изменение, если тебе легче будет
использование правильных терминов/названий не легче, а понятнее. давай я тебе буду объяснять каким цветом потолок красить пользуясь собственными, "рандомными" названиями цветов, оттенков... ? а потом естественно неустойку потребую т.к. не в тот цвет покрасил.
кстати, а что такое "поточное изменение"? без умных слов.
> но разве ты не понял суть моего вопроса.
главное чтобы ты сам ее понял, тогда и вопроса не будет...
дельфи это не база данных не sql сервер, нет такого понятия как sql в дельфи, дельфи это язык программирования в котором есть(написаны) компоненты/средства доступа к драйверам/серверам различных баз/движков и в засимости от того к какому подключаешься те правила и действуют, подключился к фокспро смотри справку по нему, к mssql смотри его bol. (есть и встроенные тогда надо смотреть справку непосредственно у компонента).
поэтому
> если я пытаюсь средствами Delphi изменять таблицы Foxpro,
это есть чушь, нет в дельфи таких средств
> драйвер в delphi есть для работы foxpro чего еще надо
нет в дельфи такого драйвера
> другое дело, что я не знаю какие его возможности.
не в нем (дальфи), а в используемом движке к которому подключился, возможности которого надо смотреть там где они есть в его справке/на его форуме...
reiler (2006-10-23 14:01:00) [3]Ну что ты заладил, я совета прошу, причем здесь форум по FoxPro? если я пытаюсь средствами Delphi изменять таблицы Foxpro, драйвер в delphi есть для работы foxpro чего еще надо, другое дело, что я не знаю какие его возможности. Каскадное, в том смысле, что менять приходится не одну запись, а каскад или поток записей, а давай назовем это поточное изменение, если тебе легче будет)). Хватит цепляться, для чего форум-то? Я новичок и терминологию, Anatoly Podgoretsky, ты лучше наверно знаешь, я не сомневаюсь, но разве ты не понял суть моего вопроса. Вот ходит по пятам))))
Anatoly Podgoretsky (2006-10-23 11:20:00) [4]
> да это проходит, но меняется поле только у одной записи.
Значит только одной записи соответствует критерий.
ANB (2006-10-23 11:03:00) [5]
> reiler (23.10.06 10:45) [9]
> да это проходит, но меняется поле только у одной записи.
>
а почитать про стандартный оператор update слабо ?
Johnmen (2006-10-23 11:00:00) [6]Возможно, надо типа того
UPDATE A SET A.a1 = (SELECT B.b1 FROM B WHERE A.a2 = B.b2)
reiler (2006-10-23 10:45:00) [7]да это проходит, но меняется поле только у одной записи.
sniknik (2006-10-23 10:40:00) [8]в фокспро (именно фокспро или его драйвере, про localsql не знаю) прошло бы
UPDATE A
SET A.a1 = B.b1
WHERE A.a2 = B.b2
Anatoly Podgoretsky (2006-10-23 10:00:00) [9]Ни каскада, ни апдейта В не наблюдается в природе, кроме того кто тебя посылал на MySql идти надо на форум по ФоксПро!!!
Johnmen (2006-10-23 09:45:00) [10]Я не понял, а где здесь "каскад"?
reiler (2006-10-23 09:33:00) [11]Ну в том -то и дело, что я-то думал пройдет, а из положения никак не выйти?
Мне необходимо такое каскадное обновление в проге.
Sergey13 (2006-10-23 09:29:00) [12]> [3] reiler (23.10.06 09:26)
А почему ты решил, что пример с сайта про MySQL (судя по адресу) должен работать с LocalSQL и FoxPro-шными таблицами?
reiler (2006-10-23 09:26:00) [13]Нет, этот запрос как раз по природе верен для каскадного обновления одной таблицы данными из другой, смотрел и в книге по БД и по ссылке
http://dev.mysql.com/doc/refman/4.1/en/update.html.Пример перед ссылкойна <Section 13.2.7.1, “JOIN Syntax”>. Но дело в том, что в delphi он не проходит.
Anatoly Podgoretsky (2006-10-23 09:03:00) [14]UPDATE A, B сомневаюсь, что такое проходит, но оно бессмысленно по своей природе, в запросе никакой UPDATE B не наблюдается.
Не хочешь сходить в конференцию по ФоксПро, а то эта по Дельфи.
Sergey13 (2006-10-23 08:56:00) [15]Может так
UPDATE A
SET A.a1 = (select max(B.b1) from B WHERE A.a2 = B.b2);