请大家快帮忙看看:Query2: Can not modify a readonly dataset!!! TQuery有很多限制,如不能在查询语句中使用Order by等 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 >>to be continueTQuery有很多限制,如不能在查询语句中找多个表中的数据!如Select a1.field1, a2.field1 from a1, a2where a1.id=a2.id这样也会出现上述错误! jiangwang: 怎样建,我用的是Paradox,用否给出代码? to snakeguo (枫) 按你所说的,TQuery应该支持的。你是不是在数据集里用了循环,你将Edit写在循环内试试。 with Query2 do (*with*)begin Close; SQL.Clear; SQL.Add('SELECT Series.series, Series."Series-name" as 产品分类, ' + '9999999.99 as 期初数, AVG(Prodlist.Uniteprice) as 期初单价, ' + '9999999.99 as 期初金额, ' + '9999999.99 as 入库数, 9999999.99 as 入库金额, ' + '9999999.99 as 销售数, 9999999.99 as 发出生产, ' + '9999999.99 as 结存数, AVG(Prodlist.Uniteprice) as 结存单价, ' + '9999999.99 as 结存金额 ' + 'FROM "Finish01.DB" Finish01, "series.DB" Series, ' + '"Prodlist.DB" Prodlist, "Prodlist01.DB" Prodlist01 ' + 'WHERE (Finish01.Part = Prodlist.Partsno) ' + 'AND (Prodlist.Series = Series.Series) ' + 'AND (Series."series-branch" = ''热双金属'') ' + 'AND (Prodlist01.Series = Series.series) ' + 'group by Series."Series-name", Series.series ' + 'order by Series.series'); Open;end; (*with*)with Query1 do (*with*)begin Close; SQL.Clear; SQL.Add('SELECT Series.series, Series."Series-name" as 产品分类, ' + 'sum(Finish01.qty) as 期初数 ' + 'FROM "Finish01.DB" Finish01, "series.DB" Series, ' + '"Prodlist.DB" Prodlist ' + 'WHERE (Finish01.Part = Prodlist.Partsno) AND ' + '(Prodlist.Series = Series.Series) AND ' + '(Finish01.stockcode = 1) ' + 'group by Series."Series-name", Series.series ' + 'order by Series.series'); Open; First; while not EOF do (*while*) begin Query2.Locate('产品分类', FindField('产品分类').AsString, []); Query2.Edit;(*Error here!!!*) Query2.FindField('期初数').AsFloat := FindField('期初数').AsFloat; Query2.Post; Next; end; (*while*)end; (*with*) 我遇到和你相同的情况,我觉得是你把Query相关的属性改改要么重新换个新的Query试试 query 组件不能修改数据表的结构!你可以使用session!还有我看你的字段怎么是重复的啊? 关于dll的问题! 如何禁止用户在WebBrowser上选择内容? 这样的dbgrid的如何实现呢?(求救,急!!!) 第三帖 关于图片的问题。回答有分! 一个很简单的问题,已经被淹没了!请帮帮忙! 在Delhi中使用什么控件就可以实现tcp,udp? 请问borland pascal for windows的最高版本是多少?在哪里可以下载? 请大家快来看看。 求delphi实现des加密算法的源程序 请问如果有多个控件 Align 相同,怎样在程序中设定其次序啊? 请问各位:Delphi有没有象VB那样的P-CODE功能
from a1, a2
where a1.id=a2.id这样也会出现上述错误!
怎样建,我用的是Paradox,用否给出代码?
按你所说的,TQuery应该支持的。
你是不是在数据集里用了循环,你将Edit写在循环内试试。
begin
Close;
SQL.Clear;
SQL.Add('SELECT Series.series, Series."Series-name" as 产品分类, ' +
'9999999.99 as 期初数, AVG(Prodlist.Uniteprice) as 期初单价, ' +
'9999999.99 as 期初金额, ' +
'9999999.99 as 入库数, 9999999.99 as 入库金额, ' +
'9999999.99 as 销售数, 9999999.99 as 发出生产, ' +
'9999999.99 as 结存数, AVG(Prodlist.Uniteprice) as 结存单价, ' +
'9999999.99 as 结存金额 ' +
'FROM "Finish01.DB" Finish01, "series.DB" Series, ' +
'"Prodlist.DB" Prodlist, "Prodlist01.DB" Prodlist01 ' +
'WHERE (Finish01.Part = Prodlist.Partsno) ' +
'AND (Prodlist.Series = Series.Series) ' +
'AND (Series."series-branch" = ''热双金属'') ' +
'AND (Prodlist01.Series = Series.series) ' +
'group by Series."Series-name", Series.series ' +
'order by Series.series');
Open;
end; (*with*)with Query1 do (*with*)
begin
Close;
SQL.Clear;
SQL.Add('SELECT Series.series, Series."Series-name" as 产品分类, ' +
'sum(Finish01.qty) as 期初数 ' +
'FROM "Finish01.DB" Finish01, "series.DB" Series, ' +
'"Prodlist.DB" Prodlist ' +
'WHERE (Finish01.Part = Prodlist.Partsno) AND ' +
'(Prodlist.Series = Series.Series) AND ' +
'(Finish01.stockcode = 1) ' +
'group by Series."Series-name", Series.series ' +
'order by Series.series');
Open; First; while not EOF do (*while*)
begin
Query2.Locate('产品分类', FindField('产品分类').AsString, []);
Query2.Edit;(*Error here!!!*)
Query2.FindField('期初数').AsFloat := FindField('期初数').AsFloat;
Query2.Post; Next;
end; (*while*)end; (*with*)
要么重新换个新的Query试试