我用Adoquery1.sql.add('select * from MyTable where 1=0')语句在内存生成空表,准备为这个空表添加若干记录后用批量更新一次性写回MyTable去。现在我想为这个空表增加一个'序号'字段,以便在录入时使DBGrid的最左边加一个序号,应如何写代码?谢谢!
解决方案 »
- 把一个listbox多选的内容导入到另一个listbox中的问题
- 一个有难度的FastReport问题
- 《Delphi5开发人员指南》源代码-Code-Ch14-SysInfo根本无法正确运行!怎么回事?
- 数据集修改问题,高手请赐教,在线等
- 如何做出xp风格的界面?
- 怎样在窗体启动的时候将Type所对应的Name添加到所在的节点中????
- 报表如何打印上表格竖线等两个问题。
- 什么地方能找到运行异常错误表?
- 我打开一个文件如下语句,为何有错?
- 感觉dephi开发bs是没啥前途了,delphi的datasnap开发移动应用有前途不
- 求一SQL语句!解决马上结贴!
- 拜师!求师父N名,要求不高,能帮我改源码就可。(超级菜鸟),交朋友也可以,留下qq号及e-mail。
//
Alter TABLE table_name ADD column_name DATATYPE对表table_name增加一个字段column_name,类型为DTATATYPE (取值见上表)
反正我是没有用过啦!
...
//定义临时字段,也可以为其它类型。
var
lcField: TStringField;
begin
//先创建。
lcField:= TStringField.Create(所有者);
//以下可以是lcField的参数设置。
...
//添加到ADOQuery的记录表中去。
ADOQuery1.Fields.Add(lcField);
//添加完成,以下是其它操作。
...
end;
...
Vfield:Tstringfield;
begin
VField := TStringField.Create(Self);
Vfield.FieldName := 'a'; //这地方写你要加的字段的实际名字就是数据 as 后的名字
Vfield.Name := ADOQuery1 .Name + Vfield.FieldName;
Vfield.Index := ADOQuery1 .FieldCount;
Vfield.DataSet := ADOQuery1 ;
ADOQuery1 .FieldDefs.UpDate;
ADOQuery1 .Open
这是动态删除
var
C: TComponent;
begin
C := FindComponent('ADOQuery1a');
if not (TC = nil) then begin
ADOQuery1.Close;
C.Free;
ADOQuery1.Open;
end;
有没有办法在原有栏位的基础上再添置加新栏位?
FCDS.FieldDefs.Add('AA',ftString,5,false);
FCDS.FieldDefs.Add('BB',ftInteger,0,false);
FCDS.FieldDefs.Add('CC',ftInteger,0,false);
FCDS.CreateDataSet;
FCDS.IndexDefs.Add('AA','AA',[]);
FCDS.IndexDefs.Items[0].Fields:='AA' ;
FCDS.IndexName:=FCDS.IndexDefs.Items[0].Name ;
。
。
。
DataSource1.DataSet := FCDS ; //把动态数据集给DBGrid