??? i不就是max-id,max_id为空时, i当然应该为空!id 是不是必须要有值?如果是,判断query是否有记录不行妈?
1:无记录,max_id:='000100000001'
2:有记录:max_id:='000'+inttostr(strtoint(copy(i,4,9))+1);
1:无记录,max_id:='000100000001'
2:有记录:max_id:='000'+inttostr(strtoint(copy(i,4,9))+1);
解决方案 »
- pagecontrol 高难度问题高分
- 如何捕获打印机开始打印的消息?
- 2009中SQLCONNECTION怎么双击了没反应了?
- 如何获知用户输入的不是英文字母????????
- pointer 与其它数据类型的转换
- dbExpress连接Oracle,据说可以免装Oracle客户端,真有此事?
- 如何在Delphi中创建存储过程?
- 兄弟姐妹们,有请:)
- ljmanage 来吧~~
- DBChart中seriers1如何操作
- 十万万火急!!!C++ Builder数据集以CachedUpdates方式(多人使用时)提交到SQL Server数据库为什么总是产生死锁(DeadLock)?
- QuikReport的简单问题
奇怪的事明明有记录,分布调试偏偏显示max_id='';
procedure TF_ADD.FormCreate(Sender: TObject);
var i,max_id:string;
begin
with tquery.Create(self) do
begin
databasename:='dd2100';
sql.add('select max(id) from zlgl_khzl');
active:=true;
i:=fields[0].asstring; //i=000100000003
free;
end; if i=''then
max_id:='000100000001' //'00'+current_xz_code+'00000001'
else
begin
max_id:='000'+inttostr(strtoint(copy(i,4,9))+1);
// max_id:='ytrht'; 此处把注释去掉,常常引起max_id为空
// ,为什么不能符值呢,偏偏有时候可以符值
end;
end;
这里 i 从数据库中点出