在网上找了一个分页显示数据库(access)资料的方法.运行成功.可是使用导航按钮TDBNavigator时在修改单元后post好象成功了!但看了数据库后发现里面的内容没有被修改.请问是什么原因呀???以下是代码:
userQuery.Close;
userQuery.SQL.Clear;
userQuery.SQL.Add('SELECT * FROM users');
userQuery.Open;
adoDataSet := TADODataSet.Create(self);
userQuery.Recordset.PageSize :=2;
userQuery.Recordset.AbsolutePage := 1;procedure TmainForm.listUsers(page: integer); //-----分页显示用户
var
i, j: Integer;
rs: adoint.RecordSet;
tmp,dekey,pwd:string;
begin
userQuery.Recordset.AbsolutePage := page;
currentPage :=page;
pageCount := userQuery.Recordset.PageCount; rs := userQuery.Recordset;
adoDataSet.Close;
adoDataSet.FieldDefs.Clear;
for i := 0 to userQuery.FieldCount - 1 do begin
adoDataSet.FieldDefs.Add(userQuery.Fields[i].value, userQuery.Fields[i].DataType, userQuery.Fields[i].Size);
end;
adoDataSet.CreateDataSet;
adoDataSet.DisableControls;
for i := 0 to rs.PageSize - 1 do begin
adoDataSet.append;
for j :=0 to rs.Fields.Count - 1 do begin
adoDataSet.Fields[j].Value := rs.Fields[j].Value;
end;
rs.MoveNext;
if rs.EOF then Break;
end;
adoDataSet.EnableControls;
adoDataSet.First;
tmpDataSource.DataSet :=adoDataSet;
userNavi.DataSource:=tmpDataSource;end;
userQuery.Close;
userQuery.SQL.Clear;
userQuery.SQL.Add('SELECT * FROM users');
userQuery.Open;
adoDataSet := TADODataSet.Create(self);
userQuery.Recordset.PageSize :=2;
userQuery.Recordset.AbsolutePage := 1;procedure TmainForm.listUsers(page: integer); //-----分页显示用户
var
i, j: Integer;
rs: adoint.RecordSet;
tmp,dekey,pwd:string;
begin
userQuery.Recordset.AbsolutePage := page;
currentPage :=page;
pageCount := userQuery.Recordset.PageCount; rs := userQuery.Recordset;
adoDataSet.Close;
adoDataSet.FieldDefs.Clear;
for i := 0 to userQuery.FieldCount - 1 do begin
adoDataSet.FieldDefs.Add(userQuery.Fields[i].value, userQuery.Fields[i].DataType, userQuery.Fields[i].Size);
end;
adoDataSet.CreateDataSet;
adoDataSet.DisableControls;
for i := 0 to rs.PageSize - 1 do begin
adoDataSet.append;
for j :=0 to rs.Fields.Count - 1 do begin
adoDataSet.Fields[j].Value := rs.Fields[j].Value;
end;
rs.MoveNext;
if rs.EOF then Break;
end;
adoDataSet.EnableControls;
adoDataSet.First;
tmpDataSource.DataSet :=adoDataSet;
userNavi.DataSource:=tmpDataSource;end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货