![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание локальной БД [D6, Paradox]
mas_alexey © (2002-08-20 18:58:00)Создаю в базе таблицу
procedure TForm1.CreateMyTable(NameFile: string);
begin
with Form1.Table1 do begin
Active := False;
DatabaseName := "";
TableName := NameFile;
TableType := ttDefault;
with FieldDefs do begin
Clear;
Add("No", ftInteger, 0, False);
Add("Tovar", ftString, 20, False);
Add("Status", ftString,1, False);
Add("Cost", ftfloat,0, False);
Add("DateCost", ftDateTime, 0, False);
Add("My_Balans", ftFloat,0, False);
end;
with IndexDefs do begin
Clear;
Add("", "No", [ixPrimary, ixUnique]);
Add("ByName", "Tovar;Status", [ixCaseInsensitive]);
end;
CreateTable;
Free;
end;
end;
procedure TForm1.FormShow(Sender: TObject);
var
table_dir:string;
begin
getdir(0,table_dir);
table_dir:=table_dir+"\db";
MKDIR(table_dir);
table_dir:=table_dir+"\table.db";
if FileExists(table_dir)=false then CreateMyTable(table_dir);
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
Table1.Active:=true;
end;
При первом проходе когда создаётся таблица, а потом Table1.Active:=true;
Ошибка access violation...
Если таблица уже создана всё нормально дальше идёт.
Как правильно освободить таблицу после создания?
Ученик (2002-08-20 19:41:00) [1]TBatchMove, если TBatchMove.BatchMode=batCopy, то и создавать локальную таблицу не надо
mas_alexey (2002-08-20 19:37:00) [2]Спасибо огромное заработало.
Ещё такой вопросик.
Делаю SQL-запрос к базе информикс получаю результат в DBGRID. Как весь результат запроса записать в локальную БД? (Типа той которая создаётся выше).
Как это делается?
Ученик (2002-08-20 19:21:00) [3]>mas_alexey (20.08.02 19:15)
Надо убрать, убиваешь Form1.Table1, а потом к ней обращаешься :)
mas_alexey (2002-08-20 19:15:00) [4]Так вроде всё так и есть ...
Ученик (2002-08-20 19:01:00) [5]...
CreateTable;
Free;
end;
end;