06. marts 2004 - 17:13Der er
4 kommentarer og 1 løsning
Sætte data ind i MS Access database
Nu har jeg søgt og kigget rundt på nettet for at finde ud af hvordan jeg får sat data ind i en database, og egentlig også hvordan man får det ud igen... Men jeg forstår ikke noget af det jeg har fundet! Jeg er newbie til det med databaser! Så mine spørgsmål er:
1: Hvordan connecter man, helt konkret, vha. ADO ? 2: Hvordan sætter man data ind i databasen fra en editboks ? 3: Hvordan hiver man data ud igen ?
Du skal bruge en TADOConnection og dertil hørende TADOTable og/eller TADOQuery. Du skal sætte et ODBC-alias op så TADOConnectionen kan hitte .mdb filen.
På XP Pro US (den kører jeg) sættes alias'et op via kontrol-panelet, Administrative tools, Data sources ODBC. Her vælger du Add, Microsoft Access driver og trykker Finish. I Data source name angiver du aliaset og i vha. Select-knappen angiver du stieen til mdb-filen.
Det var ODBC.
I Delphi placerer du en TADOConnection på en form, klikker på '...' knappen for ConnectionString og vælger Build. Under Provider vælger du "Microsoft OLE DB Provider for ODBC Drivers" og trykker next. I "Data source name" vælger du det alias du lavede og trykker "Test connection". Hvis det gik godt, så er forbindelsen i orden og du kan lukke dialogen.
Nu skal du have koblet en TADOTable på og her skal du sætte Connection (TADOConnection) og vælge hvilken tabel du vil arbejde med.
I formens OnCreate og OnDestroy plejer jeg hhv. at åbne(og lukke forbindelsen: ADOConnection.Open og ADOConnection.Close.
Ved større programmer flytter jeg ADOConnection over på en TDataSource. Hvis du vil lege med SQL i stedet, så hedder det TADOQuery eller TADOCommand.
Nu mangler du kun at tilføje en TDataSource og en TDBGrid og hægte det sammen med ADOTablen for at være kørende.
Her rettes navnet for den record som ADOTable1 står på. Du kan gennemløbe en tabel sådan her:
ADOTable1.First; while not ADOTable1.EOF begin Memo1.Lines.Add(ADOTable1.FieldByName('Navn').AsString); ADOTable1.Next; end;
... og sådan kan man blive ved. Jeg kan kun anbefale dig at prøve at læse hjælpeteksten og se hvilke metoder og properties som TADOTable har. Der er i øvrigt næsten ingen forskel fra den "gamle" BDE TTable, så hjælp der vil også være brugbart.
Jeg var selv lidt i tvivl om man skulle Post'e en AppendRecord, men det er ikke nødvendigt.
Du kan nemlig også indsætte en record på denne måde:
ADOTable1.Insert; // eller ADOTable1.Edit ved rettelser ADOTable1.FieldByName('Id').AsInteger := 1; ADOTable1.FieldByName('Navn').AdString := 'Mogens Camre'; ADOTable1.Post;
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.