發表文章

目前顯示的是 六月, 2013的文章

ClientDataSet上使用GROUP BY篩選

ClientDataSet對已經收到的資料集是不能再下SQL語法篩選的。

不過,把GROUP BY的邏輯想通應該也可以如法泡製。

直接把結果轉出來吧!

Delphi繼承的寫法

底下的連結提供了相當多的解法,有時需要改裝一下TCustomForm時可以來參考使用。

資料來源:Delphi/pascal: overloading a constructor with a different prototype

Delphi 2009 raises Exception in DBX: Unknown Driver XXX

在Design Mode下使用TSQLConnection,設定完成後也可以正常連線,可是在Runtime硬是出現「Unknown Driver: MSSQL」。

其實這只要在uses區手動加入「DBXDynalink」,就可以用了。

資料來源:Delphi 2009 raises Exception "Unknown Driver: Devart..."

EAccessViolation in function CreateProcess in Delphi 2009

很有趣的,我也遇到了這件事情,明明 CreateProcess 這函式在Delphi 7時就正常,到了Delphi 2009就出怪手了。

原因就是出在Unicode……解法轉貼如下:

DBGrid scrolling (滾動條事件) 生成

C++ Builder的DBGrid比較麻煩,可以的話還是從Delphi建一個後再使用帶入使用吧。
/* JDBGrid.h文件内容 */ //------------------------------------------------------------------------- #ifndef JDBGridH #define JDBGridH //------------------------------------------------------------------------- #include #include #include #include #include //------------------------------------------------------------------------- class PACKAGE TJDBGrid : public TDBGrid { enum TDBGridOption{ dgEditing, dgAlwaysShowEditor, dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit, dgMultiSelect ,dgThumbTracking,dgMouseWheel}; typedef Set TDBGridOptions; private: TDBGridOptions FOptions; protected: TWndMethod DBGridProc; TWndMethod DBInplaceEditProc; virtual void __fastcall JDBInplaceEditProc(Messages::TMessage &Message); …