Newsgroup: it.comp.lang.visual-basic
Titolo: mi serve un'idea...

...su come potrei creare una corrispondenza tra dati e metadati.
Mi spiego meglio: per i pricipi dell'information hiding dovrei fare in modo
che quando eseguo delle query su un dato logico, me le esegua sul
corrispondente dato fisico contenuto in una tabella.
esempio:
ho una tabella che si chiama FACOLTA' con 2 campi: NOME FACOLTA'  e  ANNO
ACCADEMICO .Se nel mio programma faccio una query del tipo:
"SELECT  NF FROM FAC"  questa dovrebbe essere tradotta nella query "SELECT
NOME FACOLTA' FROM FACOLTA' "
Spero di essere stato chiaro.
grazie dell'aiuto.

 "SELECT NOME FACOLTA' FROM FACOLTA' "
Mi sfugge lo scopo pratico di tutto questo... btw potresti definire degli
alias nel DB (in certi dovrebbe essere possibile)
Puoi provare pure un brutale replace nella stringa... con i dovuti
accorgimenti... io però continuo a non capire lo scopo!

 wrote in message
ag1674$2lib$1...@half.spin.it...


 ciao
se questo componente contiene già la corrispondenza fra dati logici e
fisici, quale è il
problema?
o continuo a non capire on non ti spieghi bene :-)) (facciamo 50 e 50)
cmq
se il componente di cui parli ha questi dati e tu puoi accedervi, scrivi
delle funzioni
che dato il noome logico del campo/tabella, accede al componente e rileva il
nome fisico,
(la corripsondenza è univoca, vero?)
e usi questi dati per costruire la query.
--
bye BlackMagic
ICQ: 85485468
Aiuta la ricerca sul cancro 
http://members.ud.com
Join
at:
http://members.ud.com/services/teams/team.htm?id=2E71C62A-8E67-48DB-B472-
BCA129B35412

 ciao
In pratica cambiando nomi alle tabelle e ai campi delle tabelle, non
dovresti più modificare le query dipendenti ...
"auguri"
Semplicemente ti costruisci un parser SQL (perchè è l'unico modo per
distinguere i nomi dei campi da quelli dei comandi) e fai un massiccio
impiego di replace (vedi MSDN).
Ma non è finita ... dovrai dunque ricreare sul DB le stored procedure o le
query access o qualsiasi altra cosa usa per le query residenti.
Se non le utilizzi, è inutile che scrivi la query di origine (e che poi vai
a cambiare  i nomi dei campi e delle tabelle) visto che le query le crei al
volo da codice ... tanto vale fare tutto in un'unica operazione.
Spero solo di aver capito male il problema perchè ti giuro che non vedo
l'utilità del componente che ti accingi a creare ...
Saluti

codice(ingegneria del sw) minimizzando la manutenzione.
se ho capito bene, ma non penso:
passo 1: elimina la tabella relazioni, nn serve a nulla... :)
passo 2: costruzione della query, come farei in asp:
SELECT * FROM tab1 WHERE " & rs.fields(0).name & "='qualcosa AND
" & rs.fields(1).name & "='qualcosaltro;
I nomi dei campi li prendi da una prima visualizzazione della tabella
(almeno il suo nome lo sai, no? Altrimenti ti metti in un modulo, o in
un file di testo o db, una costante relativa ad esso e se devi
cambiarlo lo fai da li)
Io utilizzavo questo sistema per costruire un'asp solo per una decina
di database...
Tutto chiaro, no?
Ho capito qualcosa?
--
Ciao!
Davide

 cambiarlo lo fai da li)
credo di fare cosě, magari con una serie di const...
Scusatemi se non sono riuscito a spiegarmi bene:
la creazione del data banker servea rendere indipendenti i dati dal
codice(le query sql).
Ciao e grazie ancora del vostro aiuto.

 ha scritto nel messaggio
news:jJUU8.106091$j65.2...@twister1.libero.it...

MAH!sti universitari....
la faccio facile eh!
Dim tsql as string
dim nometabella as string
dim nome campo as string
TSQL="SELECT " & NomeCampo & "FROM " & NomeTabella
eccolo svincolato e generale!
per legarlo poi......
i nomi li puoi assegnare in mille modi diversi:
a) Dal registro di Windows
b) Da un file INI
c) da un file risorse
d) Valori di proprietą di una classe
e) Risultato di query
f) brutalissimo nometabella=inputBox......etc etc
g)Const
h) come ti pare a te..............

 problema?
E' un linguaggio molto AS400ista :)
Le viste logiche sono ciò che vedi (appunto), quelle fisiche ciò che
realmente c'è scritto.
Una tabella può fisicamente avere una struttura e logicamente essere vista
come risultato di una query, cioè con una struttura differente.
Ciao

 Ciao e grazie ancora del vostro aiuto.
miiiiii, adesso vado a cercare info su sto "data banker" che dopoaver letto
tutto il 3ad ho le idee + confuse di prima ... interessante l'argomento cmq
!


grazie wodka4u
ho risolto con un database con 2 tabelle: tabelle e campi e ciascuna ha 2
campi "nomi logici" e nomi Fisici"
ciao