Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.12.23;
Скачать: [xml.tar.bz2];

Вниз

Не работает SELECT ... INTO TABLE в ADOQuery   Найти похожие ветки 

 
Zn   (2002-12-04 09:52) [0]

Ув. мастера! Подскажите, почему не создает таблицу запрос типа SELECT t1.Id, t1.Name FROM t1 INTO TABLE t2 в ADOQuery. Выполняю его через ExecSQL. В DBGrid отображается. Что я не сделал?Работаю с dbf-файлами.


 
stone   (2002-12-04 10:00) [1]

SELECT t1.Id, t1.Name INTO TABLE t2 FROM t1


 
Zn   (2002-12-04 10:09) [2]

<stone © (04.12.02 10:00)
От перестановки слагаемых сумма не изменилась. Или это была шутка?


 
stone   (2002-12-04 10:20) [3]

2 Zn (04.12.02 10:09)

Нет, не шутка. Возможно просто Local SQL (судя по dBase, FoxPro) в отличии от T-SQL, PL/SQL и т.д. не поддерживает таких конструкций


 
Zn   (2002-12-04 10:29) [4]

<stone © (04.12.02 10:20)
Тогда почему не ругается, а нормально проглатывает? В Query ругался.


 
ЮЮ   (2002-12-04 10:32) [5]

> Выполняю его через ExecSQL. В DBGrid отображается
Как, интересно, может отображаться запрос, выполняемый ч/з ExecSQL?

Еще вариант
INSERT INTO t2(ID, NAME)
SELECT ID, NAME
FROM t1 WHERE ...


 
stone   (2002-12-04 10:37) [6]

ЮЮ © (04.12.02 10:32) прав.
select ... into Table2 from Table1 создает таблицу Table2 на соснове выборки из Table1
если просто надовыбрать данные в существующую таблицу, то -> ЮЮ © (04.12.02 10:32)


 
ЮЮ   (2002-12-04 10:45) [7]

Кстати, о конструкции SELECT ... INTO в Local SQL Help нет ни слова


 
Zn   (2002-12-04 10:59) [8]


> ЮЮ © (04.12.02 10:32)
> > Выполняю его через ExecSQL. В DBGrid отображается
> Как, интересно, может отображаться запрос, выполняемый ч/з
> ExecSQL?

Тем не менее. Для DBGrid указываю нужный DataSource - и видно результат. А через ButtonClick запускаю ExecSQL (надеясь, что создаст таблицу). А таблицу действительно нужно создать.


 
sniknik   (2002-12-04 11:27) [9]

100% работает
SELECT ID_EVENT,NAME INTO AN FROM AN2
подключение
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\;Extended Properties=dBase IV;Persist Security Info=False
зачем ADOQuery? есть замечетелный компонент для невозв.датасет комманд ADOCommand.


 
Zn   (2002-12-04 12:04) [10]


> sniknik © (04.12.02 11:27)


> Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\;Extended
> Properties=dBase IV;Persist Security Info=False

Ваша строка не работает. Я использую
Provider=MSDASQL;Persist Security Info=False;Mode=ReadWrite;Extended Properties="Driver={Microsoft Visual FoxPro Driver};UID=;SourceDB=D:\;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=RUSSIAN;Null=Yes;Deleted=Yes;"
Здесь что-то не так?


 
sniknik   (2002-12-04 12:54) [11]

моя строка работает, у вас просто jet не стоит. :-)

> Здесь что-то не так?
несомненно! драйвер! Visual FoxPro Driver (он вообще с заворотами) и не только в этом, индексы например принципиально не делает :-(.

намаешся ты с ним. сам посмотри в хелпе DRVVFP.HLP в WinNt\System32. (обрати особое внимание на раздел "Unsupported FoxPro Commands and Functions")

лутше поставь Jet или (возможно у тебя стоит но версией ниже OLEDB.3.5 к примеру, проверь)
попробуй другую строку (MS dBase Driver по умолчанию с 98 и выше ставится)
Provider=MSDASQL.1;Persist Security Info=False;Mode=ReadWrite;Extended Properties="DRIVER={Microsoft dBase Driver (*.dbf)};DBQ=D:\;DefaultDir=D:\;DriverId=533;FIL=dBase 5.0;MaxBufferSize=2048;PageTimeout=5;"


 
Zn   (2002-12-04 15:02) [12]


> sniknik © (04.12.02 12:54)

Jet у меня стоит 4.0. Кстати, он у меня понимает только файлы mdb. Может, мне через mdb подключиться к dbf?
А использовать драйвер DRIVER={Microsoft dBase Driver (*.dbf)} не могу, у меня есть конструкция типа SELECT SUM(IIF(idd=0,x1,0)) as S1 FROM T1, IIF() понимает только {Microsoft Visual FoxPro Driver}. Может, ещё мог бы понять {Microsoft FoxPro Driver}, но так он заменён Visual.


 
sniknik   (2002-12-04 15:27) [13]

> он у меня понимает только файлы mdb.
не может быть!
Extended Properties=dBase IV; видиш, это к dBase а вообще у него этих ISAM-ов штук 23 :о) (в смысле может работать с ними, правда повторы :( ). если вообще без них то *.mdb.
Jet iif тоже понимает вот проверил
SELECT SUM(IIF(KOD>10,0,1)) AS KODE FROM AN2 //работает
подключение к dBase как в (sniknik © (04.12.02 11:27)) давал.

слушай я както в кладовку ложил програмку TestMdb (готовые программы) как раз для этого (запросы тестировать, подключения) посмотри, может вопросы сами собой и отвалятся :-)). надумаеш качай *.exe вариант, у тебя 5 дельфи исходники под D6.


 
Zn   (2002-12-04 18:25) [14]


> sniknik © (04.12.02 15:27)

Ничего не получается! При драйвере dBase ругается на Iif (перепробовал массу провайдеров). Нормально работает только на Visual, но файла не создаёт. Кстати, спасибо за TestMdb - отличная штука.
Видится 2 выхода - раздобыть драйвер Microsoft FoxPro или попытаться сначала CREATE TABLE, а потом INSERT FROM SELECT.
Спасибо за помощь!


 
sniknik   (2002-12-04 18:36) [15]

если у тебя точно не работает, в смысле iif, а у меня работает значит есть различия в системе, Jet к примеру разных версий, у меня SP6 на него стоит, файл Jet40SP6_W2K.exe для вин2000енг, попробуй себе поставить (они разные для разных виндов найди свой)

проще щас решить чем Microsoft VFoxPro оставлять, уж больно он своеобразный. кстати OLEDB драйверов на него я не нашол (бесплатных).



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.12.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.009 c
14-74967
начинающий програмер
2002-12-03 11:19
2002.12.23
Надеюсь на вашу помощь


6-74869
shershR
2002-10-25 16:38
2002.12.23
Как правильно пользоваться мастером ActiveX ?


3-74574
OlegLeontev
2002-12-03 17:07
2002.12.23
подсказать максимальное количество записей в Paradox 7


3-74570
----
2002-12-03 15:58
2002.12.23
Обмен данными с приложениями на разных языках......


1-74726
Gennadiy
2002-12-13 12:16
2002.12.23
Работа с текстом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский