Oppure

Loading
17/11/16 9:09
smanettone83
Buongiorno a tutti.
Premetto che con i database il mio livello di conoscenza e' pari a 0...
Dovrei realizzare un piccolo tool in grado di interrogare un database in oracle che mi restituisca determinati valori... ovviamente oltre che a leggere dovrei andare anche a scrivere su questi valori. Mi hanno parlato di stringhe di connessione etc etc... ma non ho la piu pallida idea di cosa voglia dire... c'e' in giro un piccolo codice sorgente da poter studiare e capire bene come funziona il tutto? Grazie mille a tutti.
;)
aaa
17/11/16 9:35
nessuno
No, l'argomento non è banale e non ci sono miracolose scorciatoie.

Libri, libri, tempo, tempo, studio e pazienza ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità;) chiamava il gioco del Lotto Tassa sulla stupidità.
17/11/16 10:43
Goblin
Se usi una delle ultime versioni di delphi hai a disposizione il tool "FIREDAC" che ti semplificano molto la connessione con il server SQL, e l'interrogazione delle tabelle.
Se vuoi qualche esempio guarda quelli forniti con FIREDAC sono abbastanza esaustivi, ma tieni presente che tutto gira intorno al linguaggio SQL e nel tuo caso il dialetto SQL di ORACLE.
Se ti serve qualche info chiedi pure, se sono in grado ti rispondo.
G.
Ibis redibis non morieris in bello
18/11/16 9:48
smanettone83
io uso ancora delphi 7 ma non credo ci sia il tool firedac. Diciamo che sto proprio agli inizi e sto cercando di capire un po il discorso tabelle etc etc... non saprei proprio dove mettere mano.. per questo chiedevo se c'era un piccolo sorgente cosi da poter cominciare a dare un occhiata e capire come funziona il tutto.. grazie ancora
aaa
18/11/16 11:46
Goblin
No infatti con D7 FireDac non è disponibile se non ricordo male la versione per D7 si chiama(va) AnyDac (la quale è stata comprata da Embarcadero e rinominata in FireDac, forse trovi una versione di AnyDac sul sito Embarcadero).
Comunque a parte FireDac/AnyDac ci sono diversi tool per accedere ad oracle, puoi usare la libreria ADO ODBC per restare con i componenti standard di delphi o DBX Express (non mi ricordo se sono presenti in D7), oppure cercare in giro tool di terze parti come DevArt (devart.com/), per i vari esempi basta googlare e trovi abbastanza documentazione. Poi per la manipolazione dei dati devi conoscere la classe delphi TDataSet e i suoi discendenti, Table, Query.

PS: Se vuoi un semplice esempio di manipolazione dati puoi scaricarti uno dei miei esempi che sono sul sito, uno si chiama Agenda e l'altro Pressory, il primo usa come base dati un semplice file xml il secondo usa Access e i componenti ADO.
Ibis redibis non morieris in bello
07/12/16 9:25
smanettone83
allora sono riuscito a far funzionare il tutto con oracle... una domanda. Quando mando un SQL il database mi restituisce la tabella all'interno della DBGRID. C'e' un modo da far visualizzare tutti i campi al di fuori della DBGrid? magari usando una variabile Tstring o simile? In poche parole vorrei non utilizzare il componente DBgrid o almeno non farlo visualizzare e richiamare i valori esternamente.
aaa
07/12/16 22:03
Goblin
Personalmente non ho capito cosa vuoi fare.
Comunque la dbgrid è personalizzabile puoi far vedere solo i campi che desideri, hai 2 strade. La prima è inserire nella select sql solo i campi che voi far vedere es: "select campoA, campoB, campoC from tabella .....". La seconda è selezionare nella grid i campi da far vedere questo lo ottieni facendo un doppio click nella grid ed aggiungedo a mano i campi (colonne) che ti interessano, se hai legato un TDataSource alla griglia l'operazione la fai in modo visuale.
A parte tutto, il ritorno della tua Select SQL ti genera un oggetto TDataSet che puoi manipolare come meglio credi, scorrendo nelle varie property e metodi. L'oggetto TDataSet contiene tutte le informazioni di cui hai bisogno.
Oltre all'oggetto TDBGrid hai a disposizione altri oggetti TDB... con cui costruire una pagina, basta guardare nella "palette" data-controls ed in base alle necessità usi l'oggetto opportuno.
Se specifichi meglio le tue necessità, (forse) riesco a darti qualche dritta.
G.
Ibis redibis non morieris in bello
09/12/16 19:34
smanettone83
perdonami sicuramente sono stato poco chiaro.. in pratico quello che intendevo io e' come leggere i singoli valori di ogni colonna e inserirli all'interno di variabili di tipo Tstring... dovrei aver risolto il problema... ti faccio un esempio... la mia tabella si chiama VATTELAPESCA ed ha 3 colonne: NOME, COGNOME, CITTA.. devo mandare una query e leggere nella colonna NOME il valore Antonio e di conseguenza tutti gli altri valori delle altre colonne... Sto usando questo codice e sembra funzionare... Se e' un metodo grezzo oppure conosci un modo piu pulito di fare questa cosa dimmi pure =)

var
A,B,C:string;
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from VATTELAPESCA where  NOME= Antonio');
ADOQuery1.Open;
if ADOQuery1.RecordCount = 0 then exit;
A:= ADOQuery1.FieldByName('NOME').AsString;
B:= ADOQuery1.FieldByName('COGNOME').AsString;
C:= ADOQuery1.FieldByName('CITTA').AsString;
Edit1.text:= A;
Edit2.text:= B;
Edit3.text:= C;
end;
aaa