Subject | Code Example: RB End user with IBO Stored Procs. |
---|---|
Author | John Tomaselli |
Post date | 2001-12-19T15:30:48Z |
To all on this list that use End User Reports from DM's Report Builder. The
following code allows the end-user exe to bring up stored procs that return
a result set. Note, you can't have any parameters in the stored procedure
for this to work. All other features work like it's a table or view. Pretty
cool.
John
Unit daIBO
procedure TdaIBOSession.GetTableNames(const aDatabaseName: String; aList:
TStrings);
var
lDatabase: TIB_Connection;
begin
{get the database}
lDatabase := daGetIBODatabaseForName(aDatabaseName);
{connection must be active to get table names}
if not lDatabase.Connected then
lDatabase.Connected := True;
if lDatabase.Connected then begin
alist.Assign(lDatabase.SchemaCache.TableNames);
alist.AddStrings( lDatabase.SchemaCache.ViewNames ); //added by greater
than zero for views
alist.AddStrings( lDatabase.SchemaCache.ProcedureNames ); //added by
greater than zero for stored procs
end;
end; {procedure, GetTableNames}
following code allows the end-user exe to bring up stored procs that return
a result set. Note, you can't have any parameters in the stored procedure
for this to work. All other features work like it's a table or view. Pretty
cool.
John
Unit daIBO
procedure TdaIBOSession.GetTableNames(const aDatabaseName: String; aList:
TStrings);
var
lDatabase: TIB_Connection;
begin
{get the database}
lDatabase := daGetIBODatabaseForName(aDatabaseName);
{connection must be active to get table names}
if not lDatabase.Connected then
lDatabase.Connected := True;
if lDatabase.Connected then begin
alist.Assign(lDatabase.SchemaCache.TableNames);
alist.AddStrings( lDatabase.SchemaCache.ViewNames ); //added by greater
than zero for views
alist.AddStrings( lDatabase.SchemaCache.ProcedureNames ); //added by
greater than zero for stored procs
end;
end; {procedure, GetTableNames}