我现在做一个人事管理的程序,如何让按一下‘添加’按钮,ID就递增呢(首先要检查数据库的ID最大值然后+1)如:00001,00002,00003...00009,00010,00011。代码如何实现,我用的ADO连接,数据库MYSQL 2000
解决方案 »
- oracle 数据库blob类型存放Excel文件 如何以Excel形式显示出来
- function CreateBplForm(ParamList: TStrings):TForm; exports CreateBplForm;
- 请大家谈谈D7和D8的区别??小弟想学Delphi,但不知学哪个版本好?请各位介绍一下!!!
- 请问一个问题!!!
- Delphi 操作Access链接表问题( 高分请教 )
- Web Broker的一个问题!怎么没人回答我阿?
- Delphi的问题
- 菜鸟问题-怎样使用TDBGrid?
- 如何在Delphi中调用纯C的过程?100分相送
- 请问如何在dbgrid控件中 第3列=第2列×第1列
- Delphi XE2怎么没有64位编译?
- (转)伟大的DELPHI XE2 马上推出 将是一场技术革命
Args必须是有符号整型数。如果在格式化字符串中还加入了["." prec],则如果Args
的长度如果小于给出的精度数时,在前边填补0;如果大于精度数,按实际长度显示。
Format('(%.3d)', [99]); 结果:'(099)'
var
NewId:String;
begin
with Adoquery1 do
begin
Close;
Sql.Text:='Select Max(ID) As ID From t Order By ID';
Open;
NewId:=RightStr(str+IntToStr(StrToIntDef(Fields[0].AsString,0)+1),5);
...
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var NewId:String;
begin
with Adoquery1 do begin
Close;
Sql.Text:='Select Max(ID) From table ';
Open;
NewId:=Format( '%.5d', [ StrToIntDef( Fields[0].AsString,0 ) ] );
showmessage('新的ID值为:'+NewId);
end;
end;
var NewId:String;
begin
with Adoquery1 do begin
Close;
Sql.Text:='Select Max(ID) From table ';
Open;
NewId:=Format( '%.5d', [ StrToIntDef( Fields[0].AsString,0 ) + 1 ] );
showmessage('新的ID值为:'+NewId);
end;
end;
求解!!!!!!!!!
Query.open;
Query.append;
//--------写入数据库的内容
Query.post;
ID := Format('%.5d', [Query.fieldByName('ID').asinteger]);
Query.close;这时取出来的就是数据库自增的ID了
不像interbase,oracle提供的序列号那样,独立于事务和会话,数据库级别提供的自增唯一数据对象,这个比自增字段要灵活太多。
procedure TForm1.Button1Click(Sender: TObject);
var NewId:String;
begin
with Adoquery1 do begin
Close;
Sql.Text:='Select Max(ID) From table ';
Open;
NewId:=Format( '%.5d', [ StrToIntDef( Fields[0].AsString,0 ) + 1 ] );
// showmessage('新的ID值为:'+NewId);
Close;
Sql.Text:='Select * From table ';
Open;
//新增记录:
Append;
FieldByName('ID').AsString:=NewId;
FieldByName('字段2').Value:=值2;
FieldByName('字段3').Value:=值3;
FieldByName('字段4').Value:=值4;
....
Post;
end;
end;