急救:请问有没有办法在程序中给adoquery添加一个字段?怎样添加并指定其属性?(50分)

  • 主题发起人 主题发起人 puremoonstone
  • 开始时间 开始时间
P

puremoonstone

Unregistered / Unconfirmed
GUEST, unregistred user!

with querygoodsinfo do
begin
with sql do
begin
close;
clear;
text:='select * from 丝类进仓单商品信息 where 进仓单号='''+Strjcdh+'''';
end;
open;
end;
对querygoodsinfo添加一个字段"付款编号"该怎么添加?
谢谢!
 
能清楚点吗,你不会要我们告诉你在数据库加一个字段吧。
 
是写程序增加吗?
 
并不是想要往数据库中添加一个字段,只是想在adoquery中添加一字段,方便使用。需要
是在程序中动态添加的。
 
你可以利用动态的字段对象TFields,比如:
with querygoodsinfo do
begin
//这一段是动态添加字段的过程
with fielddefs do
begin
add('你想加的字段',ftString{字段类型},12{字段长度},false);
end;
createtable;
//以下是你的过程
with sql do
begin
close;
clear;
text:='select * from 丝类进仓单商品信息 where 进仓单号='''+Strjcdh+'''';
end;
open;
end;
 
to i2346:
我按您的程序可以动态添加字段,不过要把createtable去掉.createtable是起什么作用呢?
此外,我想添加ftCurrency字段,不知道它的长度该指定为多少?我看SQL SERVER中为8,结果
系统说长度非法。还有,我想把它作为计算字段,该怎么设置呢?
 
add('你想加的字段',ftString{字段类型},12{字段长度},false);中的false是什么意思?
 
看DELPHI帮助吧!

Creates a new field definition object and adds it to the Items property of this TFieldDefs object.

procedure Add(const Name: String; DataType: TFieldType; Size: Integer = 0; Required: Boolean = False);

Description

Add is provided for backward compatibility. The recommended way to add new field definitions to the Items property array is using the AddFieldDef method.

Add uses the values passed in the Name, DataType, Size, and Required parameters and assigns them to the respective properties of the new field definition object.

If a field definition with same name already exists, an EDatabaseError exception is raised.
 
多人接受答案了。
 
后退
顶部