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

Вниз

Не создается таблица в рантайм   Найти похожие ветки 

 
mamonth   (2003-01-05 12:44) [0]

Не получается перейти с существующей таблицы к созданию новой.
Проблема у меня такая: автоматический контроллер проводит измерения, которые надо записывать в файлы по дням, типа один день - один файл с измерениями. Так вот, при переходе на следующий день, я, понятно, создаю новую таблицу, а здесь вылазит ошибка, что такого файла не существует, хотя, я и сам об этом прекрасно знаю и, ради его создания вызываю метод CreateTable.
Что интересно - та же процедура создания таблицы, при условии, что программа только что запущена, работает отлично, а вот при переходе с уже созданного файла на новый глючит.

З.Ы. Такого точно нигде больше нет, неужели никто с таким не сталкивался?!

//Код запускается в
//1 - начале работы программы, если файл не существует
//2 - процессе работы, если происходит смена суток (глюк!)
Table1.Close;
//Директория с базой
Table1.DatabaseName:=ProgDir;
//Название таблицы
Table1.TableName:=getDstFileName;
//Тип таблицы
Table1.TableType:=ttDBase;
if not Table1.Exists then
begin
//Если файл не существует - создаем
{Создать поля}
with Table1.FieldDefs do
begin
Clear;
//Поле даты
Add("Date", ftDate, 0, true);
//Поле времени
Add("Time", ftTime, 0, true);
//Поля данных
for n:=1 to Length(DeviceName) do
begin
with AddFieldDef do
begin
Name := DeviceTableName[n-1];
DataType := ftFloat;
Size:=0;
//Количество знаков после запятой (не работает)
Precision:=2;
Required := False;
end;
end;
//Создать таблицу
Table1.CreateTable;
end;
end;
//Активировать таблицу
Table1.Open;


Наверное лишнего написал, но лучше лишнее, чем непонятно..
Глюк вылазит на Table1.CreateTable;
Мастера, помогите!!!


 
Mike Kouzmine   (2003-01-05 13:24) [1]

А если так
Table1.Close
Table1.free;
Table1 := TTable.Create;


 
Verg   (2003-01-05 13:25) [2]


> Table1.DatabaseName:=ProgDir;

По-моему, где-то здесь неверно.
Типа, DataBaseName - это имя базы данных, заданное у компонента TDataBase.DataBaseName, а не путь до каталога c базой данных.

Если уж компонент TDataBase не используешь, то задавай путь до таблицы в TableName, а поле DataBaseName оставляй пустым.


 
Mike Kouzmine   (2003-01-05 13:32) [3]

Table1.DatabaseName может иметь значение как ProgDir (алиас), так и c:\gdetotam


 
Verg   (2003-01-05 13:55) [4]


> Table1.DatabaseName может иметь значение как ProgDir (алиас),
> так и c:\gdetotam


Тогда уж c:\gdetotam \



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

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

Наверх




Память: 0.46 MB
Время: 0.007 c
1-72386
dim-
2003-01-12 03:11
2003.01.23
Позиция курсора в RxRichEdit


1-72275
Paul M. Olexenco
2003-01-15 11:12
2003.01.23
Существование объекта


3-72083
Иванов Сергей
2002-12-27 20:48
2003.01.23
Что лучше interbase или firebird?


3-72147
ironwit
2002-12-26 10:18
2003.01.23
как проще всего отсортировать dbgrid по щелчку на колонке?


14-72485
Andrey-k
2003-01-06 00:34
2003.01.23
TAdvStringGrid v2.4





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