Головна сторінка
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.61 MB
Час: 0.032 c
3-74569
Oleg_Em
2002-12-04 13:41
2002.12.23
виклик функції в запиті ....


1-74840
Сутковой Вадим
2002-12-11 21:22
2002.12.23
Енгл Рос


14-74960
aterm
2002-12-03 11:04
2002.12.23
як відловити вставку з буфера в певну TMemo?


8-74845
Юрій До
2002-09-06 02:01
2002.12.23
Відтворення аудіо файлів


14-74896
AlexZ
2002-11-28 08:22
2002.12.23
Витік пам'яті, або ..?





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська