Toon posts:

[Delphi] Records toevoegen aan een data base

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo allen,

Ik heb een Access Database via ADO gekoppeld aan mijn programma. Dit heb ik op de volgende manier gedaan:

1 DataSource Component
1 ADOConnection voor de verbinding met de accessdatabase
1 ADO Table

mijn ADO connectionstring ziet er als volgt uit: Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\mydatabases.mbd;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False

De bedoeling is nu dus het volgende:

Ik heb een set variablen die opgeslagen dienen te worden in de access table.
Dit moet automatisch gaan. Omdat het automatisch moet gaan, kan ik niet gebruik maken van een DBNavigator. Ik heb een set variable die in een new records gezet moeten worden. Dit moet dus lopen via delphi code.

Ik heb al op het web zitten surfen. Daar vindt ik vrij veel over ADODataSet, maar volgens mij is dat niet wat ik nodig heb.

Wat ik zoek is het commando waarmee ik een new record kan maken in mijn table, en hier data aan toe kan voegen.

Is er iemand die weet welk component/commando ik hiervoor moet gebruiken ?

thanks!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

Kun je geen recordset openen en daar wat aan toevoegen? Er staat vast wel iets in de help als je zoekt op ADO. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

ADODataSet moet je wel hebben dacht ik. Zoek anders een in de help van delphi op ado + post.

Op het ADO Object kun je namelijk een .post commando doen zodat hij zijn data wegschrijft naar de onderliggende database....

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 17:56

Creepy

Tactical Espionage Splatterer

En anders een insert query uitvoeren m.b.v. een ADOCommand. En als je een (descendant van) TTable gebruikt dan moet je in de help eens kijken naar de methods hiervan ;)

[ Voor 49% gewijzigd door Creepy op 07-06-2004 14:28 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • THIJZEL
  • Registratie: Januari 2001
  • Niet online
gewoon een tadoquery gebruiken:

(ff uit mijn hoofd..)
code:
1
2
3
4
5
myqadoquery:=tadoquery.create;
myadoquery.connectionstring:=conneciontstring;//of je kan em hangen aan een tadoconnection...
myadoqyuery.sql:="insert pietje into table pietjes where pietjeid=1";//replace met correcte sql ;)
myadoquery.execsql;
myadoquery.free;

[ Voor 17% gewijzigd door THIJZEL op 07-06-2004 14:34 ]


Verwijderd

Kijk eens naar ADOQuery :)

Dit zijn de stappen die je moet ondernemen voor een INSERT query:
code:
1
2
3
4
5
6
7
//ADOQuery1 = ADOQuery object
//sql = string

sql := 'INSERT INTO tabel (bla,dit) VALUES ("'+variabele+'","'+variabele+'")';
ADOQuery1.SQL.Add(sql); //query toevoegen
ADOQuery1.ExecSql; //query uitvoeren
ADOQuery1.SQL.Clear; //query verwijderen


Spuit 11 :+

[ Voor 11% gewijzigd door Verwijderd op 07-06-2004 14:34 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 16:53
THIJZEL schreef op 07 juni 2004 @ 14:32:
gewoon een tadoquery gebruiken:

(ff uit mijn hoofd..)
code:
1
2
3
4
5
myqadoquery:=tadoquery.create;
myadoquery.connectionstring:=conneciontstring;//of je kan em hangen aan een tadoconnection...
myadoqyuery.sql:="insert pietje into table pietjes where pietjeid=1";//replace met correcte sql ;)
myadoquery.execsql;
myadoquery.free;
Je INSERT query gaat hier wel helemaal de mist in hoor. :P
Ofwel maak je een INSERT query, ofwel een UPDATE.

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 16:53
Verwijderd schreef op 07 juni 2004 @ 14:33:
Kijk eens naar ADOQuery :)

Dit zijn de stappen die je moet ondernemen voor een INSERT query:
code:
1
2
3
4
5
6
7
//ADOQuery1 = ADOQuery object
//sql = string

sql := 'INSERT INTO tabel (bla,dit) VALUES ("'+variabele+'","'+variabele+'")';
ADOQuery1.SQL.Add(sql); //query toevoegen
ADOQuery1.ExecSql; //query uitvoeren
ADOQuery1.SQL.Clear; //query verwijderen


Spuit 11 :+
Hier maak je beter gebruik van parametrized queries, zie ook hier

[ Voor 12% gewijzigd door whoami op 07-06-2004 14:37 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
zoiets ben ik nu al aan het proberen maar ik kom er nog niet echt uit. Volgens mij moet ik met dir component de data in me database kunnen bewerken.

ik heb een TADODataset op me form gezet met de volgende instellingen:

commandtext select field1, field2, field3;

Verwijderd

Topicstarter
oeps die response kwam iets te laat, ik ga ffe naar het bovenstaande kijken

Verwijderd

Topicstarter
oke, dat lijkt me redelijk duidelijk.

De regel die ik alleen niet helemaal begrijp is deze:

sql := 'INSERT INTO tabel (bla,dit) VALUES ("'+variabele+'","'+variabele+'")';

tabel --> Waar staat dat voor de tablename, of adotable?
(bla,dit) --> zijn dit de data van de kolommen?

("'+variabele+'","'+variabele+'") --> dit is neem ik aan de data die in de kolommen van de table gestopt moeten worden Corrosponderen deze met (bla, dit))?

  • whoami
  • Registratie: December 2000
  • Laatst online: 16:53
Verwijderd schreef op 07 juni 2004 @ 14:50:
oke, dat lijkt me redelijk duidelijk.

De regel die ik alleen niet helemaal begrijp is deze:

sql := 'INSERT INTO tabel (bla,dit) VALUES ("'+variabele+'","'+variabele+'")';

tabel --> Waar staat dat voor de tablename, of adotable?
(bla,dit) --> zijn dit de data van de kolommen?
hmm, zoek eens een SQL tutorial op zou ik zeggen; dat staat daar wel allemaal in vermeld. Het voorbeeld is een gewone SQL INSERT query.
Daarnaast kan je ook eens kijken hoe je parametrized queries definieert en gebruikt in Delphi icm AdoCommands; dit maakt het geheel nl. wat veiliger en makkelijker (geen SQL injection, geen gepruts met quotes, etc...)

https://fgheysels.github.io/


Verwijderd

whoami schreef op 07 juni 2004 @ 14:36:
[...]


Hier maak je beter gebruik van parametrized queries, zie ook hier
Hey handig, ik ben zelf ook net bezig met ADO dingen in Delphi, dit komt zeker van pas :)
Pagina: 1