Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno DELPHI ADO komponenty

Zdravím Vás. Som začiatočník a chcel by som Vás poprosiť, či niekto nemá nejaký jednoduchý projekt v Delphi kde sa pracuje s údajmi v databáze v Accesse prostredníctvom ADO komponentov SQL príkazmi.(prezeranie napr.v DBgride, vkladanie záznamov, editácia a pod.)Vopred Vám ďakujem.
email- suchan@wmx.sk
Rado

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
vo verzii delphi,ktorá to podporuje máš dostatok príkladov v samotnej inštalácii
ogl 19.11.2008 13:42
ogl
Ďakujem.Skúsim prezrieť.Ale ešte by som aj napriek tomu poprosil, ak niekto máte to zapojenie kompon…
Rado 19.11.2008 14:29
Rado
Ke druhe casti tve odpovedi. Ta nema nic spolecneho s Delphi nebo ADO, ale musis se nauci syntaxi SQ…
Jan Fiala 19.11.2008 18:36
Jan Fiala
ADOTable1.Append; ADOQuery1.Active:=false; ADOQuery 1.SQL.Clear; ADOQuery1.SQL.Add('UPDATE Kontakty… nový
Rado 29.11.2008 13:27
Rado
1. Ano, ADOQuery slouží na vykonání příkazu SQL. ADOTable na práci (vkládání, prohlížení, změnu) s t… nový
Filuta 29.11.2008 14:54
Filuta
Jaky vyznam mam vlozeni prazdne vety do tabulky (APPEND) a jeji ulozeni (POST) ve sojeni s tim SQL p… nový
Jan Fiala 29.11.2008 15:17
Jan Fiala
Ďakujem Vám obom za rady. Už som to naplnil priamo cez adotable.funguje to výborne.Len som nevedel ž… nový
Rado 29.11.2008 19:00
Rado
To jsou 2 ruzne pristupy. Bud pres AdoTable pres Edit/Append, naplneni hodnot a Post nebo pres AdoQu… nový
Jan Fiala 29.11.2008 20:38
Jan Fiala
JJ, už mi je to zase jasnejšie. Učím sa...:-) Ešte raz vďaka:beer: poslední
Rado 29.11.2008 22:15
Rado

Ďakujem.Skúsim prezrieť.Ale ešte by som aj napriek tomu poprosil, ak niekto máte to zapojenie komponent.Kopec vecí mi nie je jasných.Aký je rozdiel medzi ADOQuery,ADOCommand, ADODataSet, kedy ktorú komponentu použiť atď.Skúšal som vkladať do tabuľky prostredníctvom ADOCommand nejaké hodnoty cez príkaz INSERT INTO kontakty VALUES ... a keď som zadal všetky hodnoty akrem primárneho kľúča tak mi vypísalo chybové hlásenie, že nie sú vyplnené všetky hodnoty.Ale primárny kľúč mám nastavený v accese ako automat. číslo a to samozrejme nenapĺňam. Proste moc by mi pomohlo také všeobecné základné nastavenia z dôvodu výuky a pochopenia práce jednotlivých komponent.Ešte raz ďakujem.

ADOTable1.Append;
ADOQuery1.Active:=false;
ADOQuery 1.SQL.Clear;
ADOQuery1.SQL.Add('UPDATE Kontakty SET Meno = "'+Edit1.Text+'", Priezvisko = "'+Edit2.Text+'", Adresa = "'+Edit3.Text+'", Mesto = "'+Edit4.Text+'", PSC = "'+Edit5.Text+'", Stat = "'+Edit6.Text+'", Email = "'+Edit7.Text+'", Telefon = "'+Edit8.Text+'" WHERE KontaktyID = '+ ADOTable1.FieldByName('KontaktyID').AsString );
ADOQuery1.ExecSQL;
ADOTable1.Post;

Chcel by som Vás poprosiť o radu. 1.Otázka - ADOQuery slúži na vykonanie SQL príkazu a ADOTable na vkladanie údajov do tabuľky prostredníctvom Datasource?
2. Mám vyššie uvedené príkazy popísané správne?
3. Pri sopustení mi to vyhadzuje syntaktickú chybu v hrubo označenej časti- chýba nejaký operátor. Už si s tým skutočne neviem rady.
Ďakujem za akúkoľvek pomoc :-)

1. Ano, ADOQuery slouží na vykonání příkazu SQL. ADOTable na práci (vkládání, prohlížení, změnu) s tabulkou nebo pohledem.
2. Ne.
3. Ve WHERE vám chybí uvozovky, do kterých se cpe text: WHERE KontaktyID = "'+ ADOTable1.FieldByName('KontaktyID').AsString + '"').

Poznámka: Přidání nové věty a naplnění hodnotami zadanými operátorem, je daleko výhodnější udělat rovnou přes SQL INSERT. Parametry pro SQL příkazy je lépe zadávat přes parametry, než to tam pracně cpát takto. Lépe se to udržuje, je to přehlednější pro případné pozdější úpravy programu.

Zpět do poradny Odpovědět na původní otázku Nahoru