Zoxc Skrevet 19. april 2005 Del Skrevet 19. april 2005 Eg har brukt databaser er del i Delphi 4 Standard, men eg har brukt mest D7 PE. Eg har lasta den trailen til Delphi 2005 Studio Artitect, men eg finner ikkje ut korleis eg oppretter ein database der, brukte Database Explorer for men der er det berre connections no, og Database Desktop som eg brukt til å lage tabeller er bort, er databaser strippa ned på i trailen eller? Lenke til kommentar
gerri28 Skrevet 19. april 2005 Del Skrevet 19. april 2005 (endret) Er nok ikke strippet ned nei. For enkle databaser så kan du bruke Absolute Database (www.componentace.com) som finnes i en gratis personal edition. BDE som du sansynligvis har brukt før faser borland ut, selv om den er med for kompatiblitet. Følger også med en hjelpefil som forklarer greit hvordan du oppretter tabeller og databaser med SQL. Databasestøtten i Delphi (DBExpress) baserer seg på at du kobler deg til en ekstern database motor f.eks MySQL, MSSQL osv... Endret 19. april 2005 av gerri28 Lenke til kommentar
Zoxc Skrevet 19. april 2005 Forfatter Del Skrevet 19. april 2005 (endret) Er denne "thread-safe" ? Det stod noe om multi users der, og med PE version så vises det ein NAG screen :/ er dette vis programmet kobler til databasen I flere tråder ? _____________________________________________ Korleis lager/sletter/leser man cookies med TIdHTTPServer? Eg bruker Indy 10. Endret 19. april 2005 av Zoxc Lenke til kommentar
sinnaelgen Skrevet 19. april 2005 Del Skrevet 19. april 2005 det var så enkelt å bygge opp databaser i delphi 4 . når den muligheten er fjerne så forstor jeg ingen ting. hvis det er noen som har peling så ønsker jeg en skikelig forklaring eller lik til en side som forklarer dette tydelig. siste versjonen av delphi er pe 7 versjon som kom med pcpro for noen år siden . siste kjøpte versjon er delphi 5 jeg har fått det intruket at delphi bare blitt dyrere og dyrer og snaar koster den mer en microsot ofice paken. hvordan: - oprett og slette database - oprete / endre / fjerne poster - oprete / endre / fjerne poster - oprete linker til andre databaser eller "tabeller" - hvordan lese av og presentere dette på skjermen Lenke til kommentar
gerri28 Skrevet 20. april 2005 Del Skrevet 20. april 2005 (endret) Zoxc: så langt jeg vet så får du kun nag screen hvis du bruker threads, men jeg er ikke helt sikker her da... elg-elg123: her finner du et program som jeg kjapt laget i dag som viser deg hvordan du oppretter database og tabeller. Den viser også dataene i en listview med ownerdata slik at det går lynraskt å vise en tabell med mange tusen records. Det krever at du laster ned og installerer Absoulte Database i delphi. Jeg har ikke lagt til noen kommentarer, men bare spør her om det er noe du lurer på. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ABSMain, ComCtrls, StdCtrls; type TForm1 = class(TForm) ABSDatabase1: TABSDatabase; ABSQuery1: TABSQuery; ListView1: TListView; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Button1: TButton; Button2: TButton; Button3: TButton; ABSQuery2: TABSQuery; procedure Button2Click(Sender: TObject); procedure ListView1DblClick(Sender: TObject); procedure Button3Click(Sender: TObject); procedure ListView1Data(Sender: TObject; Item: TListItem); procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure CreateTable; function RefString(Const S: string):Pointer; procedure ReleaseString(P:Pointer); procedure Update; private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin ABSDatabase1.DatabaseName := 'TestDB'; ABSDatabase1.DatabaseFileName := '.\db\test.abs'; if (not ABSDatabase1.Exists) then ABSDatabase1.CreateDatabase; ABSDatabase1.Connected := true; ABSQuery1.DatabaseName := 'TestDB'; CreateTable; ABSQuery2.DatabaseName := 'TestDB'; Update; end; procedure TForm1.CreateTable; begin with ABSQuery1 do begin Close; SQL.Clear; SQL.Add('CREATE TABLE IF NOT EXISTS Ansatte ('); SQL.Add('ID AutoInc,'); SQL.Add('Navn Char(25),'); SQL.Add('Stilling Char(25),'); SQL.Add('Tlf Char(12),'); SQL.Add('Adresse Char(25))'); ExecSql; end; end; function TForm1.RefString(Const S: string):Pointer; var Local:string; begin Local := S; Result := Pointer(Local); Pointer(Local) := nil; end; procedure TForm1.ReleaseString(P: Pointer); var Local:String; begin Pointer(Local) := P; end; procedure TForm1.Button1Click(Sender: TObject); begin with ABSQuery1 do begin close; SQL.Clear; SQL.Add('INSERT INTO Ansatte (Navn,Stilling,Tlf,Adresse)'); SQL.Add('VALUES ('); SQL.Add(quotedstr(Edit1.text)+','); SQL.Add(quotedstr(Edit2.text)+','); SQL.Add(quotedstr(Edit3.text)+','); SQL.Add(quotedstr(Edit4.text)+')'); ExecSql; end; Update; end; procedure TForm1.ListView1Data(Sender: TObject; Item: TListItem); begin ABSQuery2.RecNo := Item.Index+1; with Item do begin Caption := ABSQuery2.FieldValues['Navn']; Subitems.Add(ABSQuery2.FieldValues['Stilling']); Subitems.Add(ABSQuery2.FieldValues['Tlf']); Subitems.Add(ABSQuery2.FieldValues['Adresse']); Data := RefString(ABSQuery2.FieldValues['ID']) end; end; procedure TForm1.Update; begin With ABSQuery2 do begin close; SQL.Clear; SQL.Add('SELECT * FROM Ansatte'); Open; end; ListView1.Items.Count := ABSQuery2.RecordCount; end; procedure TForm1.Button3Click(Sender: TObject); begin With ABSQuery1 do begin close; SQL.Clear; SQL.Add('DELETE FROM Ansatte'); SQL.Add('WHERE ID = '+ String(ListView1.Selected.Data)); ExecSql; end; Update; end; procedure TForm1.ListView1DblClick(Sender: TObject); begin with ABSQuery1 do begin Close; SQL.Clear; SQL.Add('SELECT * FROM Ansatte'); SQL.Add('WHERE ID = '+ String(ListView1.Selected.Data)); open; end; Edit1.Text := ABSQuery1.FieldValues['Navn']; Edit2.Text := ABSQuery1.FieldValues['Stilling']; Edit3.Text := ABSQuery1.FieldValues['Tlf']; Edit4.Text := ABSQuery1.FieldValues['Adresse']; end; procedure TForm1.Button2Click(Sender: TObject); begin With ABSQuery1 do begin close; SQL.Clear; SQL.Add('UPDATE Ansatte'); SQL.Add('SET Navn = '+quotedstr(Edit1.text)); SQL.Add(',Stilling = '+quotedstr(Edit2.text)); SQL.Add(',Tlf = '+quotedstr(Edit3.text)); SQL.Add(',Adresse = '+quotedstr(Edit4.text)); SQL.Add('WHERE ID = '+ String(ListView1.Selected.Data)); ExecSQL; end; Update; end; end. Endret 20. april 2005 av gerri28 Lenke til kommentar
sinnaelgen Skrevet 20. april 2005 Del Skrevet 20. april 2005 takk. da er det bare å prøve det ut ' Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå