mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-12 20:21:04 +02:00
LazDataDesktop: Support schema names. Issue #29799, patch from Daniel Gaspary
git-svn-id: trunk@56751 -
This commit is contained in:
parent
a6e34f0a9b
commit
ec9b0f1db8
@ -26,8 +26,6 @@ type
|
|||||||
FDescription: String;
|
FDescription: String;
|
||||||
FEngine: TFPDDEngine;
|
FEngine: TFPDDEngine;
|
||||||
FQueryPanel : TQueryFrame;
|
FQueryPanel : TQueryFrame;
|
||||||
{ private declarations }
|
|
||||||
{ public declarations }
|
|
||||||
procedure AddPair(LV: TListView; Const AName, AValue: String);
|
procedure AddPair(LV: TListView; Const AName, AValue: String);
|
||||||
procedure ClearDisplay;
|
procedure ClearDisplay;
|
||||||
function GetCurrentObjectType: TObjectType;
|
function GetCurrentObjectType: TObjectType;
|
||||||
@ -91,7 +89,7 @@ implementation
|
|||||||
|
|
||||||
{$r *.lfm}
|
{$r *.lfm}
|
||||||
|
|
||||||
uses typinfo, fradata, lazdatadeskstr, frmgeneratesql;
|
uses typinfo, fradata, lazdatadeskstr, frmgeneratesql, sqltypes;
|
||||||
|
|
||||||
{ TConnectionEditor }
|
{ TConnectionEditor }
|
||||||
|
|
||||||
@ -315,21 +313,38 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function CompareSqlIdentifier(Item1, Item2: TCollectionItem): Integer;
|
||||||
|
var
|
||||||
|
o1, o2: TSqlObjectIdenfier;
|
||||||
|
begin
|
||||||
|
o1:=Item1 as TSqlObjectIdenfier;
|
||||||
|
o2:=Item2 as TSqlObjectIdenfier;
|
||||||
|
Result:=CompareStr(o1.SchemaName, o2.SchemaName);
|
||||||
|
|
||||||
|
if Result=0
|
||||||
|
then
|
||||||
|
Result:=CompareStr(o1.ObjectName, o2.ObjectName);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TConnectionFrame.ShowTables(ATV : TTreeView;ParentNode : TTreeNode; AddSubNodes : Boolean = False);
|
procedure TConnectionFrame.ShowTables(ATV : TTreeView;ParentNode : TTreeNode; AddSubNodes : Boolean = False);
|
||||||
|
|
||||||
Var
|
Var
|
||||||
L : TStringList;
|
L : TSqlObjectIdentifierList;
|
||||||
I : Integer;
|
I : Integer;
|
||||||
N : TTreeNode;
|
N : TTreeNode;
|
||||||
|
S : String;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
L:=TStringList.Create;
|
L:=TSqlObjectIdentifierList.Create(TSqlObjectIdenfier);
|
||||||
Try
|
Try
|
||||||
FEngine.GetTableList(L);
|
FEngine.GetObjectList(stTables, L);
|
||||||
L.Sorted:=True;
|
L.Sort(@CompareSqlIdentifier);
|
||||||
For I:=0 to L.Count-1 do
|
For I:=0 to L.Count-1 do
|
||||||
begin
|
begin
|
||||||
N:=NewNode(ATV,ParentNode,L[I],iiTable);
|
S:=L[i].ObjectName;
|
||||||
|
If L[i].SchemaName<>'' then
|
||||||
|
S:=L[i].SchemaName + '.' + S;
|
||||||
|
N:=NewNode(ATV,ParentNode,S,iiTable);
|
||||||
If AddSubNodes then
|
If AddSubNodes then
|
||||||
begin
|
begin
|
||||||
NewNode(ATV,N,SNodeFields,iiFields);
|
NewNode(ATV,N,SNodeFields,iiFields);
|
||||||
|
Loading…
Reference in New Issue
Block a user