1. delphi 4如何动态创建ACCESS数据库表?2.如何用字段内的文本做dbgrid的字段名?(200分)

  • 主题发起人 主题发起人 kchsun
  • 开始时间 开始时间
K

kchsun

Unregistered / Unconfirmed
GUEST, unregistred user!
1. delphi 4如何动态创建ACCESS数据库表?
2. 我有一个ACCESS数据库表,字段名是英文,对应有一个字段是用来放英文对应的中文名,因该库表的中文字段名可由用户指定,所以只好把它当成字段内的数据供用户修改,但我想用dbgrid显示数据却只能是英文名,怎么办?
 
1.with qryCreat do
begin
Close;
SQL.Clear;
SQL.Add('create table MYTABLE(COL1 int not null) ');
ExecSQL;
end;

2.dbgrdMyGrid.Columns[0].Title.Caption := FieldByName('CHINESENAME').AsString;

 

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;

2:
table1.first;
for i:=0 to table1.fields.count-2;
begin
dbgrid1.columns.title.caption:=table1.feildbyname('EnglishFieldNmae').asstring;
table1.next;
end;
table1.first;





 
-->但我想用dbgrid显示数据却只能是英文名,怎么办?
谁说的?
dbgrid当然可以显示中文名.
设计时点dbgrid.columns你就知道了. 运行时动态改变也行.
 
1. 可以用SQL语句创建TABLE, 方法
QUERY1.SQL.ADD('CREATE TABLE TEST (F1 CHAR(8), F2 CHAR(10))');
QUERY1.EXECSQL;
2. EYES的说法是正确的, 不过可以用SQL解决的简单一点:
SQL='SELECT XM AS "姓名", XB AS "性别", MZ AS "名字" FROM TABLE1'

 
谢了!各位,虽说我今天已经解决了,还是多谢各位,分平分了吧,再次感谢
 
后退
顶部