我正在使用ado连接adoquery和dsr以及adotable
我有一个数据库,其中bookingnumbers是表格客户端中的一个字段。
我想获得该字段中的最后一个预订号并将其存储在变量中。
预订号码在访问时保存为文本。
到目前为止,我有:
Var
sNum : string;
....
sNum := Datamodule1.tblClient['BookingNumber'].Last;
但它不起作用。
请帮帮忙?
答案 0 :(得分:4)
通过导航数据集尝试找到字段的最大值并不是一个好主意,特别是如果数据集不必由相关字段排序。尝试这样的事情:
function TForm1.GetMaxBookingNumber : Integer;
var
Q : TAdoQuery;
begin
Q := TAdoQuery.Create(Nil);
Q.Connection := DataModule1.AdoConnection1; // or whatever the name of your connection is
try
Q.SQL.Text := 'SELECT MAX(BookingNumber) FROM CLIENT';
Q.Open;
// the `not IsNull` in the following allows for the table being empty
if not Q.Fields[0].IsNull then
Result := Q.Fields[0].AsInteger
else
Result := -1;
finally
Q.Free;
end;
end;
答案 1 :(得分:-1)
所以这就是我想要的: VAR sNum:string; 程序按钮单击 开始
用Datamodule1做 开始 qryClient.SQL.Add('SELECT BookingNumber FROM Client'); qryClient.Open; qryClient.last; sNum:= qryClient ['BookingNumber']; 结束; 端;