Gå til innhold

Anbefalte innlegg

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
Videoannonse
Annonse

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 av gerri28
Lenke til kommentar

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 av Zoxc
Lenke til kommentar

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

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 av gerri28
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...