Newsgroup: it.comp.lang.delphi
Titolo: New Repository con ADO

 Ciao Ragazzi,
 Dovrei creare delle Repository con ADO.
 Quindi dovrei :
 LETTURA
 - Generare la lista di tutti gli ALIAS di connessione
 - Per ogni ALIAS di connessione generare la lista di tutti i DB
esistenti
 - Per ogni DB generare la lista degli SCHEMI
 SCRITTURA
 - Creare per un particolare ALIAS un DB i suoi schemi con relative
password.
 Qualcuno molto generosamente può fare un copia e incolla di codice
già testato e funzionante ? Spero non mi giudicate male. E' la prima
volta che uso ADO e vorrei stare lontano da errori di impostazione.
Ciao.

Tutti alla presentazione del nuovo Delphi ;-)
Correggo la mira alla domanda precedente chiedendo se per leggere i 
METADATA con ado è necessario accedere necessariamente a, quindi non 
esiste un analogo TSession ? E' corretto ?
information_schema.tables
--- posted by geoForum on 
http://www.delphiedintorni.it

Es. per leggere gli schemi:
select distinct(TABLE_SCHEMA)
from information_schema.columns


Ho risolto così, però spero di non aver fatto rimbalzare una palla su 
tutte le pareti di un corridoio per farla arrivare fino in fondo...
// Query ADO --> DBGrid
select catalog_name, schema_name from information_schema.schemata
// Porto il contenuto della DB grid su stringhe ed elaboro i dati
for j := 0 to DBGRid1.FieldCount-1 do
        begin
          if (j>0) then s:=s+', ';
          s:=s+DBGRid1.Fields[j].AsString;
          showmessage(s);
        end;
Sono pazzo?  Francamente non riesco ad utilizzare la proprietà 
openschema di ADO !


 // Query ADO --> DBGrid
 select catalog_name, schema_name from information_schema.schemata
DBGrid --> TStrings
ListaSchemi.
Repeat
    for j := 0 to DBGrid1.FieldCount-1 do
        begin
          if (j>0) then s:=s+', ';
          s:=s+DBGrid1.Fields[j].AsString;
          showmessage(s);
        end;
      s:= '';
      DBGrid1.DataSource.DataSet.Next;
    Until DBGrid1.DataSource.DataSet.Eof;

*select catalog_name, schema_name from information_schema.schemata*
procedure TForm1.D_LEGGI_SCHEMI(NomeDataBase:String);
var j: integer; CATALOG,SCHEMA:String;
begin
// Assegna il nome DB agli oggetti BDE
D_METADATA_TABLE1.DatabaseName:=NomeDataBase;
// Assegna SCHEMATA alla TABELLA
D_METADATA_TABLE1.TableName:='information_schema.schemata';
D_METADATA_TABLE1.Active:=true;
// EXIT - Controlla che sia un DB-valido
if D_METADATA_TABLE1.Exists=false then begin 
D_METADATA_TABLE1.Active:=false; EXIT; end;
D_METADATA_TABLE1.First;
Repeat
   CATALOG:=D_METADATA_TABLE1.FieldByName('catalog_name').AsString;
   SCHEMA:=D_METADATA_TABLE1.FieldByName('schema_name').AsString;
   showmessage(CATALOG+'-'+SCHEMA);
   if D_METADATA_TABLE1.Eof=false then D_METADATA_TABLE1.Next;
Until D_METADATA_TABLE1.Eof;


 [...]
Sì, l'abbiamo capito che sei il solito "troll", non c'è bisogno che ci 
fornisci ulteriori prove. :-)
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

fornisci ulteriori prove. :-)
 
Scusa Marco ma che cosa ha a che fare questa affermazione con il 
contenuto del post ????
Piuttosto cerca di portare un contributo costruttivo !
----
Matteo Miranda
www.ant4.eu


 Piuttosto cerca di portare un contributo costruttivo !
Sparisci troll.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

>Sparisci troll.
Spero che in questo NG spariscano i cretini saputelli più che i Troll.


Spero che in questo NG spariscano i cretini saputelli più che i Troll.
Si sta parlando di METADATA e arrivano i CRETINI !!!!


 Si sta parlando di METADATA e arrivano i CRETINI !!!!
Bravo, quindi, affinché non ci siano più cretini, va' via.


>Bravo, quindi, affinché non ci siano più cretini, va' via.
Caro Andrea, la gente ti conosce bene e più spesso ti hanno mandato a 
leggere il beccaccino !
Io sto parlando di METADATA tu stai facendo il CRETINO ! Non dico che lo 
sei, ma ti stai comportando così.
Quindi ti prego di non creare "rumore" in quando l'argomento trattato è 
interessante !


 leggere il beccaccino !
AH AH AH...
