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

Вниз

Динамическое создание-подключение к таблице   Найти похожие ветки 

 
vic1   (2004-12-13 09:48) [0]

Использую ADO
Уважаемые Мастера, почему при динамическом создании таблицы и ее последующем открытии получаю ошибку, что объект не найден. А когда прохожусь по коду в реж отладки - все работает? Может таблица не успевает создаться и зарегистрироваться - как с этим бороться?

Спасибо.


 
janb   (2004-12-13 10:05) [1]

Kak ti ee sozdaesh?
Kak otkrivaesh?


 
vic1   (2004-12-13 11:17) [2]

Данные переношу из Excel - как-то взял здесь на форуме:

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
f_name:=copy(ExtractFileName(s),1,length(ExtractFileName(s))-4);
ADOQuery1.SQL.Add("SELECT * INTO "+f_name+
  " FROM [Лист1$] IN ""+s+" " "Excel 8.0;"");
ADOQuery1.ExecSQL;

Затем мне нужно получить доступ к полям, чтобы переименовать их:

     ADOQ_.Close;
     ADOQ_.SQL.Clear;
     ADOQ_.SQL.Add("SELECT * from "+f_name);
     ADOQ_.Open;
     n:=ADOQ_.FieldCount;
     for i:=0 to n-1 do
     begin
       ListBox1.Items.Add(ADOQ_.Fields[i].FieldName);
       //////
       ShowMessage(ADOQ_.Fields[i].FieldName);
     end;
     ADOQ_.Close;

При пошаговом проходе Listbox заполняется.


 
sniknik ©   (2004-12-13 12:14) [3]

код неполный (не все что нужно показано...) но догадатся можно (наверное ;)

решения (по догадкам)
1 поставить задержку между первым и вторым блоками кода т.е.
...
ADOQuery1.ExecSQL;

sleep(5000);

ADOQ_.Close;
...

2 пользоваться тем же компонентом
...
ADOQuery1.ExecSQL;

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
...

3 настроить конект правильно (один в обоих компонентах)


 
sniknik ©   (2004-12-13 12:16) [4]

и кстати
> Затем мне нужно получить доступ к полям, чтобы переименовать их:
странная фраза. возможно все делается не так.


 
vic1   (2004-12-13 12:45) [5]

По умолчанию поля имеют имена f1, f2, ...
Мне в таблице нужны свои имена так как по ним идет обращение, может можно сделать это сразу при импорте как-то.

Спасибо sniknik.


 
vic1   (2004-12-13 13:19) [6]

sniknik ©  - а можно ли при импорте из таблицы указать в самом запросе имена полей?


 
sniknik ©   (2004-12-13 18:17) [7]

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

select f1 as f10, f2 as f20 ...



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

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

Наверх




Память: 0.46 MB
Время: 0.039 c
1-1104353001
SilverDragon
2004-12-29 23:43
2005.01.16
Работа с динамическими обьектами


1-1104055515
Jrek
2004-12-26 13:05
2005.01.16
Перетаскивание


1-1103891964
Суслик
2004-12-24 15:39
2005.01.16
Использование LongBool (или WordBool) в логических выражениях


14-1103892849
AlexG
2004-12-24 15:54
2005.01.16
MIDAS


3-1102604292
_Вован_
2004-12-09 17:58
2005.01.16
Как физически удалить запись из таблички dBase (файла .dbf) ?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский