FlashFiler 1.5 is the professional, compact, multi-user, client/server database engine for programmers developing applications with all versions of Borland Delphi or C++Builder 3.
Better than the BDE! FlashFiler is small and easier to deploy than the bulky Borland Database Engine. Just build your application normally, then ship it anywhere along with our royalty-free FlashFiler Server. Single-user applications can even compile FlashFiler right in so there's only one EXE to deliver!
Jeg har org. flashfiler liggende du kan købe billigt, hvis du vil. Har du nogle spørgsmål er du velkommen til at maile mig -> gusse@image.dk
Du kan gå ind under komponenter og vælge Databse Access #4 der er en del komponenter der kan det, men de forskellige komponenter kan forskellige ting derfor kan jeg ikke give dig en bestemt komponent. Du kan heller ikke få et kode eksempel for det er ikke bare noget man gør man skal hente en færdig komponent.
Det kommer selvfølgeligt også an' på hvilke krav du stiller til din database, bl.a. med hensyn til størelsen af data.
Hvis du har mod på at binde an med en ordentlig SQL database, så prøv med InterBase (I mine øjne den bedste SQL database). En god ting ved Interbase, er bl.a. at en fuld client installation kun fylder omkring 2 MByte - ingenting i forhold til Oracle, MSSQL eller sågar Paradox/Access.
Jason Wharton er en gut der arbejder for Arizonas 'regering' som software designer. I den forbindelse har han lavet et fremragnene sæt components der giver direkte access til Interbase API'et - dvs. uden brug af BDE. Det lyder måske kompliceret, men der er masser af support, bl.a. en maillist, hvor Jason generelt svarer på alle spørgsmål inden for få timer (Hvis han ikke er på en Delphi konference et eller sted i verden for at snakke Delphi-Interbase. Ellers er der mange andre kloge hoveder på listen.
Nu ved jeg ikke lige hvad du skal bruge din application til, men sammen med Delphi er der jo den seneste version af Interbase sammen med en to-persons (så vidt jeg husker) licens. Så til privat brug er der ingen problemer.
Såvidt jeg har læst licensen aftalen, så må licensen bruges til udvikling og ikke til andet, men OK. Det kan jo fortolkes på mange måder, man skal blot være varsom. Men en Local IB licens koster omkring 500,- og det er jo ikke så galt. Interbase 4. et eller andet til linux er gratis !!!!
(fra deploy.txt delphi 4) Delphi Client/server and Delphi Professional include a development license for Local InterBase. They do not, however, include rights for deployment or redistribution of any InterBase component.
I såfald vil jeg anbefale dig at droppe tanken om at bruge en database og i stedet anvende en record baseret løsning. En sådan løsning vil fylde væsentligt mindre idet der ikke er noget behov for extra database drivers/engines/DLL's og hvad ved jeg.
Procedure CloseDataFile; Begin CloseFile(Fil); End;
Procedure AppendPost(Const aPost : TDataRec); Begin // Hvis der ikke er sikkerhed for, at // Current fileposition er End-Of_file // Så lav evt først en: // Seek(Fil, FileSize(Fil)); // eller kald rutinerne: // CloseDataFile; // OpenFileToAppend; Write(Fil, aPost); End;
Function FindRecordPosition(Const Value : Integer) : Integer; // Antager at: // - filen er åben // - der ledes efter en post, hvor felt1 indeholder værdien i 'Value' // Retur værdi: // - Post fundet: Position i filen. // - Post ikke fundet: Værdien -1 Var Index : Integer; CurPost : TDataType; Begin Result := -1; Index := 0; Seek(Fil, 0);
While (Not EOF(Fil)) And Result=-1 Do Begin Read(Fil, CurPost); If CurPost.Felt1 = Value Then Result := Index Else Inc(Index); End; End;
Du kan sikkert se systemet. Du skal ikke være bange for at ovenstående rutiner virker 'langsomme' eller for at benytte 'mange' Reset/Append/FileClose/Seek kommandoer, for selv om de indebære 'langsomme' I/O operationer, så er de stadigvæk langt hurtigere end kald ned i BDE eller tilsvarende strukture.
En mulighed, du kan udnytte for at speede tingene er evt. at hente alle data ind i hukommelsen, fx. i en linked liste eller i en memory stream (oplagt hvis du benytter Objects istedet for records). Så kan du nøjes med at streame dine data ind og ud på disk en gang ved henholdsvis start og stop af din application.
Til gengæld kan vi så bruge vores tid? :) Du må altså osse' gøre noget selv - specielt til 30 point og når du nu ikke har specificeret dine posters opbygning. Under alle omstendigheder, så kan du sakse det eksempel jeg skrev før.
i delphi 5.0 er der nogle ado komponenter som ikke kræver BDE. Disse er endda bedre end BDE imod MS Access databaser. Imod SQL Servere er de langsommere...
Men brugen af Delphi 5's ADO faciliteter kræver at hele ADO driver sættet, dvs. Access API'et, er eller skal installeres på client maskinen. Jeg har ikke det nøjagtige tal, men der er givet tale om flere MByte, hvilket er en tung sag at deploye til en bruger, specielt via Inet og modem. Desuden er der et spørgsmål om rettigheder og licenser. Dermed ikke sagt, at Delphi/ADO er noget møg. Næste gang jeg selv får en opgave, der omfatter omgang med en af firmaets Access databaser, vil jeg seriøst overveje at droppe BDE til fordel for ADO - den tid, den sorg.
TKnudsen>> Jeg tænkete lige: Du siger at ADO er langsomme mod SQL databaser - jeg antager at du mener MS-SQL. Hvad mener du egentligt med det og hvorfor er det sådan? Så vidt jeg er informeret, så benytter Access og MS-SQL den samme fil struktur og burde da alt andet lige dermed også være lige hurtige, når du benytter de samme drivere.
NiP/Delphi
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.