Головна сторінка
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.6 MB
Час: 0.032 c
14-74963
aterm
2002-12-03 10:14
2002.12.23
Комілятор для С ++


7-75005
ThermiT
2002-10-20 09:32
2002.12.23
Програма при завантаженні


1-74640
Mike Buran
2002-12-12 14:19
2002.12.23
Порівняння двох файлів, відображених в пам'ять.


1-74746
ctapik-net
2002-12-14 17:41
2002.12.23
Як отримати інтерфейс IShellFolder вказує на Entire Network


1-74790
Dakus
2002-12-10 11:33
2002.12.23
Класи





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