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

Вниз

Как объединить идентичные таблицы ADO 12 штук   Найти похожие ветки 

 
Ирг   (2009-09-22 12:27) [0]

Как объединить идентичные таблицы ? ADO

A.dbf  12  штук между собой таблицы лежат в разных папках C:\1, C:\2- C:\12
D.dbf  12  штук между собой таблицы лежат в разных папках C:\1, C:\2- C:\12

Желательно в одном запросе или цикле


 
sniknik ©   (2009-09-22 12:36) [1]

обычным union-ом,
какая разница где они лежат, подключись к "базе" на уровень "ниже" всех, а путь дальше указывай в имени таблиц.


 
Ирг   (2009-09-22 12:58) [2]

sniknik © СПАСИБО !!!  

КАК БЫТЬ ЕСЛИ В ОДНОЙ ИЗ ПАПОК НЕ НАЙДЕТСЯ ТАБЛИЦЫ МНЕ НУЖНО ЧТОБ

ЗАПРОС ВСЕ РАВНО ПРОДОЛЖАЛ РАБОТАТЬ КАК ЭТО СДЕЛАТЬ ?


 
Sergey13 ©   (2009-09-22 13:16) [3]

> [2] Ирг   (22.09.09 12:58)
> КАК ЭТО СДЕЛАТЬ ?

Программу надо писать. Как еще то? Проверять перед открытием, есть ли чего открывать. И по результатам проверки составлять запрос.

ЗЫ: Это твое творение? Если да, то я бы посоветовал начать переписывать с нуля на нормальной СУБД и с нормальным подходом.


 
Ирг   (2009-09-22 13:30) [4]

Sergey13 ©  

Есть 24 талибы dbf чужого творения мне нужно доставать от туда данные !

Можно ли создать Субд (какую лучше), в папки 1, 2 - 12 помесячно будут добавляться таблицы (январь 1я папка, февраль 2я папка.....) ?

как проверить есть ли чего открывать ?

WHILE (i=0, i<12, i++) как тут проверить


 
Сергей М. ©   (2009-09-22 13:33) [5]


> Ирг   (22.09.09 13:30) [4]


> как проверить есть ли чего открывать ?


Что толку проверять ?
Даже если на момент проверки файл окажется на месте, нет никакой гарантии что на момент открытия запроса он там по-прежнему будет находиться)


 
Sergey13 ©   (2009-09-22 13:45) [6]

> [4] Ирг   (22.09.09 13:30)
> как проверить есть ли чего открывать ?

Ну я бы проверил наличие конкретного файла в конкретном месте. Например  FileExists

> Можно ли создать Субд (какую лучше), в папки 1, 2 - 12 помесячно
> будут добавляться таблицы (январь 1я папка, февраль 2я папка.....)?
Ну СУБД создавать тебе рановато пока, с БД бы разобраться. Что толку что-то создавать, если база как я понял не твоя?


 
Ирг   (2009-09-22 14:32) [7]

вСЕМ СПАСИБО БУДУ КОВЫРЯТЬСЯ ЕСЛИ ЧТО ПРИДУ ЗА ПОДМОГОЙ


 
Ирг   (2009-09-23 10:51) [8]

sniknik ©   (22.09.09 12:36) [1]

обычным union-ом,
какая разница где они лежат, подключись к "базе" на уровень "ниже" всех, а путь дальше указывай в имени таблиц.

DataModule2.ADOQuery1.ConnectionString:="Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\;Extended Properties=dBASE IV;Persist Security Info=False";

Select * From  ("1\A.dbf"),  ("2\A.dbf") ......("12\A.dbf")

Ошибка недопустимое имя  1\A.dbf


 
Ирг   (2009-09-23 13:57) [9]

Select * From  [c:\1\A.dbf],  [c:\2\A.dbf] ......[c:\12\A.dbf]

не правельно определен объект parameter.....

а как правильно ?


 
Leonid Troyanovsky ©   (2009-09-23 14:06) [10]


> Sergey13 ©   (22.09.09 13:45) [6]

> Ну я бы проверил наличие конкретного файла в конкретном
> месте. Например  FileExists

Совершенно бесполезная функция, и более того, даже вредная.
Гораздо полезней получить исключение: "Путь/Файл не найден".

--
Regards, LVT.


 
Sergey13 ©   (2009-09-23 14:11) [11]

> [10] Leonid Troyanovsky ©   (23.09.09 14:06)

А в чем вредность функции и полезность исключения если

> [2] Ирг   (22.09.09 12:58)

?


 
Медвежонок Пятачок ©   (2009-09-23 14:13) [12]

тем, что ее результаты верны для некоего момента в безвозвратно ушедшем прошлом


 
Ирг   (2009-09-23 14:18) [13]

Хорошо мастерам  философствовать  

Помогли бы лучше хоть каким ни будь способом


 
Leonid Troyanovsky ©   (2009-09-23 14:23) [14]


> Sergey13 ©   (23.09.09 14:11) [11]

> А в чем вредность функции и полезность исключения если

[5], [12].

А если исключение грамотно обработать,
то можно, например, и цикл продолжить.

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2009-09-23 14:37) [15]


> Ирг   (23.09.09 14:18) [13]

> Помогли бы лучше хоть каким ни будь способом

INSERT INTO "Customer.db" (CustNo, Company)
SELECT CustNo, Company
FROM "OldCustomer.db"

Конкретный синтаксис надо уточнять для выбранной engine.

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2009-09-23 14:40) [16]


> Leonid Troyanovsky ©   (23.09.09 14:37) [15]

Ну и, конечно,TADOCommand.

--
Regards, LVT.


 
Ирг   (2009-09-23 14:42) [17]

>>A.dbf  12  штук между собой таблицы лежат в разных папках C:\1, C:\2- C:\12
>>D.dbf  12  штук между собой таблицы лежат в разных папках C:\1, C:\2- C:\12

пробую так

DataModule2.ADOQuery1.ConnectionString:="Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\;Extended Properties=dBASE IV;Persist Security Info=False";

Select * From  [c:\1\A.dbf],  [c:\2\A.dbf] ......[c:\12\A.dbf]

не правельно определен объект parameter....


 
Leonid Troyanovsky ©   (2009-09-23 14:54) [18]


> Ирг   (23.09.09 14:42) [17]

> Select * From  [c:\1\A.dbf],  [c:\2\A.dbf] ......[c:\12\A.
> dbf]

> не правельно определен объект parameter....

Тут, во-ще, много неправильного определено.

Научись сначала объединять две таблицы,
а дальше можно и циклом.

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2009-09-23 15:10) [19]


> Ирг   (22.09.09 13:30) [4]

> как проверить есть ли чего открывать ?

FindFirst, FindNext, FindClose Example
See also MatchesMask function.

--
Regards, LVT.


 
sniknik ©   (2009-09-23 15:26) [20]

и действительно, не так очевидно как думал... должно получится так
SELECT * FROM A IN "1" "dBASE IV;"


 
sniknik ©   (2009-09-23 15:28) [21]

Ирг   (23.09.09 14:42) [17]
> ...
> не правельно определен объект parameter....
а где юнион?


 
Sergey13 ©   (2009-09-23 15:33) [22]

> [14] Leonid Troyanovsky ©   (23.09.09 14:23)

Ну, в принципе согласен, что исключение более отказоустойчивый вариант. Но не думаю, что у автора файлы появляются и исчезают с такой быстротой. Тем более что с функцией мне лично было бы собрать запрос удобнее. А исключение ловить на открытие запроса.


 
Ирг   (2009-09-24 08:47) [23]

Спасибо большое пробую


 
Ирг   (2009-09-24 12:13) [24]

>> sniknik ©
>>SELECT * FROM A IN "1" "dBASE IV;"

файл не может быть открыт "C:\1" ядромс базы данных Microsoft.Jet уже открыт для монопольного доступа или требуеться рзрешение на просмотр данных

DataModule2.ADOQuery1.ConnectionString:="Provider=Microsoft.Jet.OLEDB.4.0; User ID=Admin;Data Source=C:\;Extended Properties=dBASE IV;Persist Security Info=False";
DataModule2.ADOQuery1.Close;
DataModule2.ADOQuery1.SQL.Clear;
DataModule2.ADOQuery1.SQL.Add("SELECT * FROM A IN "1" "dBASE IV;" ");
DataModule2.ADOQuery1.SQL.Add("UNION ALL SELECT * FROM A IN "2" "dBASE IV;" ");
DataModule2.ADOQuery1.SQL.Add("UNION ALL SELECT * FROM A IN "3" "dBASE IV;" ");
DataModule2.ADOQuery1.SQL.Add("UNION ALL SELECT * FROM A IN "4" "dBASE IV;" ");
DataModule2.ADOQuery1.SQL.Add("UNION ALL SELECT * FROM A IN "5" "dBASE IV;" ");
.........
DataModule2.ADOQuery1.SQL.Add("UNION ALL SELECT * FROM A IN "12" "dBASE IV;" ");
DataModule2.ADOQuery1.Active:=true;


 
Ирг   (2009-09-24 12:15) [25]

как то не правильно подключаюсь ?

DataModule2.ADOQuery1.ConnectionString:="Provider=Microsoft.Jet.OLEDB.4.0;  User ID=Admin;Data Source=C:\;Extended Properties=dBASE IV;Persist Security Info=False";


 
Ирг   (2009-09-24 13:14) [26]

Изменяюсь "dBASE IV;"    не ставил ;    

сейчас выходит если без Union ов просто один запрос если с ними то ничего нет


 
Ирг   (2009-09-24 13:23) [27]

Все работает спасибо ВСЕМ !!!!!!!!!!
САМ ДУРАК


 
Ирг   (2009-09-24 13:47) [28]

почему то не объединяет ? выдает данные 1 таблицы


 
Ирг   (2009-09-24 13:51) [29]

Все нормально



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

Текущий архив: 2009.11.08;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.016 c
1-1223364687
Vlad Oshin
2008-10-07 11:31
2009.11.08
DLL, с пакетами, использую DevExpress, компоненты xxDockxx, AV


15-1250661192
leonidus
2009-08-19 09:53
2009.11.08
Компонент для отображения HTML


2-1253285152
Сергей
2009-09-18 18:45
2009.11.08
Динамически создать три формы и для каждой свою кнопку


15-1252653672
KSergey
2009-09-11 11:21
2009.11.08
SSI+PHP


15-1252496141
KilkennyCat
2009-09-09 15:35
2009.11.08
GDI+ . Выбор рефлизации.