Следующая статья: DBFSeek и DBFLocate Как выполнить поиск в таблице?
Как создать таблицу из работающего приложения?
Простейший способ – использовать запрос SQL. Таблицы можно создавать с индексом и без индекса.
Небольшой пример:
…
const
CreateTab ='CREATE TABLE';
IDXTab ='PRIMARY KEY';
MyTabStruct ='IDX_TAB DECIMAL(6,0),'
+'DATE_ DATE,'
+'FLD_1 CHARACTER(20),'
+'FLD_2 DECIMAL(7, 2),'
+'FLD_3 BOOLEAN,'
+'FLD_4 BLOB(1, 1),'
+'FLD_5 BLOB(1, 2),'
+'FLD_6 BLOB(1, 3),'
+'FLD_7 BLOB(1, 4),'
+'FLD_8 BLOB(1, 5)';
…
function TForm1.CreateTable(TabName, TabStruct, TabIDX: string): boolean;
var
qyTable: TQuery;
begin
result:=true;
qyTable:=TQuery.Create(Self);
with qyTable do
try
try
SQL.Clear;
SQL.Add(CreateTab+TabName+'('+TabStruct+TabIDX+')');
Prepare;
ExecSQL;// ExecSQL, а не Open. Иначе …
except
// Обработка ошибок открытия таблицы
Exception.Create('Ошибка открытия таблицы');
result:=false;
end;
finally
Close;
end;
end;
// создание таблицы без индекса
procedure TForm1.Button1Click(Sender: TObject);
begin
if CreateTable('"MYTAB1.DBF"', MyTabStruct,'') then
…// выполняем дальнейшие операции
else
…
end;
// создание таблицы с индексом
procedure TForm1.Button2Click(Sender: TObject);
begin
if CreateTable('"MYTAB2.DBF"', MyTabStruct, IDXTab+' (IDX_TAB)') then
…// выполняем дальнейшие операции
else
…
end; [VS]