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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
7-72548
DD
2002-11-05 00:47
2003.01.23
Как не через fdisk, а програмно установить активный раздел на HDD


14-72508
mate
2003-01-06 15:09
2003.01.23
MicroSoft SQL Server 7.0


6-72454
MAXL
2002-11-24 15:33
2003.01.23
Как зная IP компа в локалке вывести на его экран сообщение .


1-72262
laser
2003-01-14 21:31
2003.01.23
помогите пожалуйста разобрать (что-то не работает)


14-72473
ihtiandr
2003-01-05 15:02
2003.01.23
QReport





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