Форум: "Базы";
Текущий архив: 2002.09.09;
Скачать: [xml.tar.bz2];
ВнизСоздание локальной БД Найти похожие ветки
← →
mas_alexey (2002-08-20 18:58) [0]Создаю в базе таблицу
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:01) [1]...
CreateTable;
Free;
end;
end;
← →
mas_alexey (2002-08-20 19:15) [2]Так вроде всё так и есть ...
← →
Ученик (2002-08-20 19:21) [3]>mas_alexey (20.08.02 19:15)
Надо убрать, убиваешь Form1.Table1, а потом к ней обращаешься :)
← →
mas_alexey (2002-08-20 19:37) [4]Спасибо огромное заработало.
Ещё такой вопросик.
Делаю SQL-запрос к базе информикс получаю результат в DBGRID. Как весь результат запроса записать в локальную БД? (Типа той которая создаётся выше).
Как это делается?
← →
Ученик (2002-08-20 19:41) [5]TBatchMove, если TBatchMove.BatchMode=batCopy, то и создавать локальную таблицу не надо
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.09.09;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c