该过程是得出NewContractNo,不知道哪里有错?procedure TContractForm.FormShow(Sender: TObject);
var
i:integer;
begin
... i:=0;
DataContrls.CTable.Open;
while not DataContrls.CTable.Eof do
begin
i:=i+1;
Next;
end; if i<>0 then
begin
DataContrls.CTable.Last; //将记录移到最后一条记录
//计算新合同号
NewContractNo:=DataContrls.CTable.FieldValues['合同号']+1;
DataContrls.CTable.First;
end
else
begin
NewContractNo:=1001;
end;
...
end;
var
i:integer;
begin
... i:=0;
DataContrls.CTable.Open;
while not DataContrls.CTable.Eof do
begin
i:=i+1;
Next;
end; if i<>0 then
begin
DataContrls.CTable.Last; //将记录移到最后一条记录
//计算新合同号
NewContractNo:=DataContrls.CTable.FieldValues['合同号']+1;
DataContrls.CTable.First;
end
else
begin
NewContractNo:=1001;
end;
...
end;
解决方案 »
- Delphi可否静态链接
- 一个关于FLASH插件安装的问题。
- 获得万象2004系统设置里面的BUTTON句柄,然后执行它的BUTTON的单击事件
- 我手头有一个COM组件,但是怎么用呢?我一点概念都没有,我怎么创建它,使用它,完了释放它?(UP的也给分拉!)
- 我用setlength重新分配动态数组的大小怎么前面的数据会丢失阿
- 关于 Tcanvas 的问题,来着有分
- 用Delphi实现将纯文本资料转入数据库 一文的整理工作
- 关于SQL语句的写法问题,急急!
- 怎样判断表字段的值是字符串类型的还是数据字类型的?
- ###高分求购多页面的浏览器源程序####
- ADO+ACCESS数据库,怎样在数据库中设字“金额”的数据类型,为什么我输入的只有两位小数,而在DBGRID中显示小数有好多位,打开MS ACCESS
- 如何作一个ftp连接啊?
DataContrls.CTable.First;//加上这个
while not DataContrls.CTable.Eof do
begin
i:=i+1;
Next;
end;
从数据表中循环取数据的时候一定要记得加上这句
DataContrls.CTable.First;//指向第一条记录
否则取数的时候将不会从第一条读起,会出现运行异常
估计是next问题,写上全名试试:DataContrls.CTable.Next
或者这样:
i:=0;
DataContrls.CTable.Open;
if not DataContrls.CTable.eof then
begin
while not DataContrls.CTable.eof do
begin
inc(i);
DataContrls.CTable.Next;
end;
end;...
谢谢大家