如用TclientDataSet 或 ADO 都有办法,但现用BDE 的 Tquery ,如何实现?
解决方案 »
- 如何解决数据库操作的COM出现com surrogate错误C0000005,导致假死
- 谁知道如何从PDF文件中提取图片
- 用Idsmtp 发送邮件,怎么对方显示成垃圾邮件,怎么搞的,那位大侠知道?谢谢
- 对dbf文件操作,同样的sql语句执行结果不一致,怪!
- 散分:刚买的电脑就出问题,问了n个人,都不知道什么原因!
- 如何修改信使服务的开始内容???
- 怎样才能把Edit.text 里面的字体偏右排列?
- turbo pascal 下的一个工程编译时出现一下错误,那位高手对turbo pascal熟悉,烦劳给看看!!!
- 那里有DELPHI关于串口操作的源代码和电子文档。散分
- 小弟初学Delphi,请问有那些好一点的入门书籍?谢谢
- 咋个打开dll文件,请指教
- delphi如何调用WORD进行文件管理
uses EhLibBDE;
如果沒有EhLibBDE.dcu ,在EHLIB目錄下可以找到EhLibBDE.pas,自已編譯一下吧。
var
s: String;
begin
inherited;
if OldSortField = Column.FieldName then
DescSort := not DescSort;
if DescSort then
s := 'DESC'
else
s := 'ASC';
DoSort(Column.FieldName,s);
OldSortField := Column.FieldName;
end;procedure TTgDBQueryBaseForm.DoSort(OrderField, OrderType: String);
var
tmpstr,tmpSQL,OldSQL:string;
tmppos:integer;
begin
if not QueryMain.Active then
Exit;
//编辑状态,此功能无效
if QueryMain.State in [dsInsert,dsEdit] then
Exit; OldSQL := QueryMain.SQL.Text;
tmpstr:= lowercase(OldSQL);
tmppos:=pos('order',tmpstr);
if tmppos<>0 then
tmpstr:=copy(tmpstr,1,tmppos-1);
tmpSQL:=tmpstr+' order by '+OrderField+' '+OrderType; QueryMain.DisableControls;
try
OpenQuery(QueryMain,tmpSQL);
except
QueryMain.SQL.Text := OldSQL;
QueryMain.Open;
Raise Exception.Create('不能按此列排序!');
end;
QueryMain.EnableControls;
end;
我已 uses EhLibBDE.pas,并編譯执行,仍无反应,需要另外的设置吗?