Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Что то запутался


Автор: 78125 22.2.2003, 00:29
Есть база данных.

Нужно в процессе выполнения добавить в нее таблицу.

делаю так

var error:ttable;

....

error:=ttable.Create(table2);
error.TableName:='error';
error.DatabaseName:='out2';
error.Active:=true;


Ну книжек я не читал по етому а делал все как мозг подсказывал.
Не кричите громко, просто подтолкните что у меня не так, если все, тоже объясните как делать.


Автор: Vit 22.2.2003, 00:48
1) Выполнить кверю:
SQL
Create Table ...


2) Через определения полей, пример я вот приводил в статье:
http://forum.vingrad.ru/index.php?act=ST&f=2&t=3954

Автор: X-Vlad 22.2.2003, 00:49
Код

with Ttable.Create(self)do begin
 Databasename:=edit2.Text;
 TableName:=edit1.text;
 Tabletype:=ttparadox;
 with fielddefs do begin
 add('Default',ftinteger,0,true);
 end;
 indexdefs.Add('','Default',[ixprimary]);
 createtable;


Автор: 78125 22.2.2003, 01:08
Спасибо, работает!

Автор: 78125 22.2.2003, 02:13
X-Vlad А как теперь сама табица(объект) назся?

Автор: X-Vlad 22.2.2003, 03:27
Цитата

А как теперь сама табица(объект) назся?


непонял вопрос... sad.gif

Автор: 78125 22.2.2003, 03:53
Цитата(X @ 22.2.2003, 03:27)
Цитата

А как теперь сама табица(объект) назся?


непонял вопрос... sad.gif

Ну как к етому обратиться

типа

Table.fields[x].value:=.....


не принципиально как объект то наз ся?

Автор: Vit 22.2.2003, 04:03
Не путай понятия "таблица на диске" и "Объект Дельфи - TTable". Сделай объект TTable, или возьми готовый и ассоциируй с сделанной таблицей на диске.


PS. Читай статью здесь: http://forum.vingrad.ru/index.php?act=ST&f=2&t=3954

Автор: X-Vlad 22.2.2003, 05:23
Цитата

with Ttable.Create(self)do begin
  Databasename:=edit2.Text;
  TableName:=edit1.text;
  Tabletype:=ttparadox;
  with fielddefs do begin
  add('Default',ftinteger,0,true);
  end;
  indexdefs.Add('','Default',[ixprimary]);
  createtable;
  form1.table1.DatabaseName:=edit2.Text;
  form1.table1.Active:=false;
  form1.table1.TableName:=edit1.text;
  form1.dbgrid1.Visible:=true;
  form1.table1.Active:=true;


я на форму сначала во время разработки кидаю "Table1" ,"DBGrid" and "DataSourse" потом пограмно создаю базу данных и таблицу. Все монипуляции с таблицей я делаю через Table1.
Например:
добавляю колонку в таблицу:
Цитата

form1.table1.FieldDefs.Add(edit3.text,ftinteger,0,false);

Автор: 78125 25.2.2003, 03:47
Спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)