如何用delphi动态建立1个新表(200分)

  • 主题发起人 主题发起人 fyc
  • 开始时间 开始时间
首先, 在FORM上放置一个 TDATABASE, TQUERY. 设置好TDATABASE的参数, 然后

把TQUERY的DATABASENAME属性设为该TDATABASE.创建新表的程序段如下:

with YourQry.sql do
begin
clear;
add('create table yourTable(col1 char(8) not null,col2 numeric(12,2) NULL,...)');
end;
try
CaluDeptQry.ExecSQL;
except
end;

其中加入的SQL命令随你自己设定. 祝你顺利!
 
不用SQL,也可以的.
用TTable.CreateTable;如Delphi Example:
if not Table1.Exists then { Don't overwrite an existing table }

begin
with Table1 do
begin
Active := False; { The Table component must not be active }

{ First, describe the type of table and give it a name }
DatabaseName := 'DBDEMOS';
TableType := ttParadox;
TableName := 'CustInfo';

{ Next, describe the fields in the table }
with FieldDefs do
begin
Clear;
Add('Field1', ftInteger, 0, True);
Add('Field2', ftString, 30, False);

end;

{ Next, describe any indexes }
with IndexDefs do
begin
Clear;
{ The first index has no name because it is a Paradox primary key }
Add('', 'Field1', [ixPrimary, ixUnique]);
Add('Fld2Indx', 'Field2', [ixCaseInsensitive]);
end;

{ Now that we have specified what we want, create the table }
CreateTable;
end;
end;
 
SQL多简洁, 干吗不用? 请说一下你的理由.
 
用一句 CREATE TABLE不就完了,哪那么烦
 
哈哈,jgHuang想钱都快想疯了。

可是的确没有错啊,回答得很正确。
 
用create table呀

在你的程序中用SQL
Query1.Sql.add('CREATE TABLE "employee.dbf"
(
LAST_NAME CHAR(20),
FIRST_NAME CHAR(15),
SALARY NUMERIC(10,2),
DEPT_NO SMALLINT
)');
query1.execsql;

 
yifeng 明天别忘了早上8点
 
不知道SQL中怎样建PARADOX中的关键字或者索引
 
用Primary Key:

Create table tablename (
id int not null,
name varchar(255),
...,
Primary Key(id))
 
在创建一张新表时,注意要确定在哪个DATABASE中建立。
 
只能这样了,可能分配得不大好。
 
后退
顶部