我只有2分,倾家当产!求教 Dbgrideh一个问题?(2分)

  • 主题发起人 主题发起人 poy
  • 开始时间 开始时间
P

poy

Unregistered / Unconfirmed
GUEST, unregistred user!
前几天刚下载DBGriedeh,它有个Demo ,使用一个Query1,和DBgrideh1
procedure Tform1.DBGridEh1SortMarkingChanged(Sender: TObject);
var i :Integer;
s:String;
function DeleteStr(str:String;
sunstr:String): String;
var i:Integer;
begin
i := Pos(sunstr,str);
if i <> 0 then
Delete(str,i,Length(sunstr));
Result := str;
end;
begin
s := '';
for i := 0 to DBGridEh1.SortMarkedColumns.Count-1do
if DBGridEh1.SortMarkedColumns.Title.SortMarker = smUpEh then
s := s + DBGridEh1.SortMarkedColumns.FieldName + ' DESC , '
else
s := s + DBGridEh1.SortMarkedColumns.FieldName + ', ';
if s <> '' then
s := ' ORDER BY ' + Copy(s,1,Length(s)-2);
s := DeleteStr(s,'1');
Query1.SQL.Strings[Query1.SQL.Count-1] := s;
Query1.Close;
Query1.Open;
end;

这样是没错的,但是我把Query1换成是Adoquery1,连接的数据库改成是 .mdb
就说不能在已打开的ADoquery中执行这种操作,WHY?
 
1。ado 不用用这种方法,用ADOQUERY1。SORT:=‘ASC NAME ’;
就可以了
 
接受答案了.
 
后退
顶部