AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenbank realisieren, aber ohne Server und Treiber ?
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbank realisieren, aber ohne Server und Treiber ?

Ein Thema von smart · begonnen am 1. Jun 2005 · letzter Beitrag vom 3. Jun 2005
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
Benutzerbild von smart
smart

Registriert seit: 19. Dez 2004
Ort: Bochum
1.266 Beiträge
 
Delphi 2007 Professional
 
#1

Datenbank realisieren, aber ohne Server und Treiber ?

  Alt 1. Jun 2005, 13:36
Datenbank: Noch keine • Version: ? • Zugriff über: ?
Ich möchte gern eine Datenbank realisieren. Aber ohne Server und Treiber direkt das DBfile erzeugen/bearbeiten. Ich habe leider wenig Kenntnisse von der Datenbankprogrammierung. Was brauche ich dazu? Welche Komponenten kann man benutzen? Kann mir Einer von Euch mal bitte helfen? Achso, dass ganze sollte auch auf WIN95 laufen
Heike Kretschmann
  Mit Zitat antworten Zitat
barf00s
(Gast)

n/a Beiträge
 
#2

Re: Datenbank realisieren, aber ohne Server und Treiber ?

  Alt 1. Jun 2005, 13:42
du willst also .db / .dbf dateien erzeugen, ohne BDE oder irgendeinen anderen treiber, und die .db/.dbf oder was, soll für andere programme die dieses (öhm paradox?) format unterstützen?

ooooooder ginge es auch wenn du dir deine daten in sequentiellen dateien oder so speicherst? ~dummfrag~
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Datenbank realisieren, aber ohne Server und Treiber ?

  Alt 1. Jun 2005, 13:45
Zitat von barf00s:
du willst also .db / .dbf dateien erzeugen, ohne BDE oder irgendeinen anderen treiber, und die .db/.dbf oder was, soll für andere programme die dieses (öhm paradox?) format unterstützen?

ooooooder ginge es auch wenn du dir deine daten in sequentiellen dateien oder so speicherst? ~dummfrag~
Du meinst Typisierte Dateien, oder?

@Smart

Schau dir mal Absolute Database an.

André
André
  Mit Zitat antworten Zitat
barf00s
(Gast)

n/a Beiträge
 
#4

Re: Datenbank realisieren, aber ohne Server und Treiber ?

  Alt 1. Jun 2005, 13:46
ich seh schon ... vergiss die frage mit den files/sequentiellen krams....

FireBird ist wohl sone datenbank wie du vllt suchst.
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Datenbank realisieren, aber ohne Server und Treiber ?

  Alt 1. Jun 2005, 13:48
Zitat von barf00s:
ich seh schon ... vergiss die frage mit den files/sequentiellen krams....

FireBird ist wohl sone datenbank wie du vllt suchst.
Der FB braucht aber (auch) als Embedded eine Dll.
André
  Mit Zitat antworten Zitat
Benutzerbild von smart
smart

Registriert seit: 19. Dez 2004
Ort: Bochum
1.266 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Datenbank realisieren, aber ohne Server und Treiber ?

  Alt 1. Jun 2005, 14:02
Zitat von barf00s:
du willst also .db / .dbf dateien erzeugen, ohne BDE oder irgendeinen anderen treiber, und die .db/.dbf oder was, soll für andere programme die dieses (öhm paradox?) format unterstützen?

ooooooder ginge es auch wenn du dir deine daten in sequentiellen dateien oder so speicherst? ~dummfrag~
Das geht auch.
Heike Kretschmann
  Mit Zitat antworten Zitat
Benutzerbild von Boombuler
Boombuler

Registriert seit: 14. Mär 2003
Ort: Osnabrück
244 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Datenbank realisieren, aber ohne Server und Treiber ?

  Alt 1. Jun 2005, 14:09
Zitat von MagicAndre1981:
Zitat von barf00s:
ich seh schon ... vergiss die frage mit den files/sequentiellen krams....

FireBird ist wohl sone datenbank wie du vllt suchst.
Der FB braucht aber (auch) als Embedded eine Dll.
Ich benutz auch teilweise den Embeddes Server von FB und ich kann nur sagen TOP!
Das zieh ich jeder Sequenziellen Datei vor! Naja kommt auch wieder auf die größe der Datenmengen an...

Greetz
Boombuler
"Look at you, Hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?"
SwapIt Highscore:
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Datenbank realisieren, aber ohne Server und Treiber ?

  Alt 1. Jun 2005, 14:13
Zitat von Boombuler:
Zitat von MagicAndre1981:
Zitat von barf00s:
ich seh schon ... vergiss die frage mit den files/sequentiellen krams....

FireBird ist wohl sone datenbank wie du vllt suchst.
Der FB braucht aber (auch) als Embedded eine Dll.
Ich benutz auch teilweise den Embeddes Server von FB und ich kann nur sagen TOP!
Das zieh ich jeder Sequenziellen Datei vor! Naja kommt auch wieder auf die größe der Datenmengen an...

Greetz
Boombuler
FireBird ist ja auch gut, aber smart will keinen Treiber (DLL) haben. Da dürfte Absolute DataBase passen, da alles was zum Zugriff gebraucht wird, in die Exe mit eingebunden wird.
André
  Mit Zitat antworten Zitat
Benutzerbild von smart
smart

Registriert seit: 19. Dez 2004
Ort: Bochum
1.266 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Datenbank realisieren, aber ohne Server und Treiber ?

  Alt 1. Jun 2005, 14:20
Ich hatte mal so Komponenten für Delphi2, die erzeugten DB-Dateien. Leider bietet der Hersteller sie nicht mehr an. Delphi2 habe ich leider nicht mehr.
Heike Kretschmann
  Mit Zitat antworten Zitat
barf00s
(Gast)

n/a Beiträge
 
#10

Re: Datenbank realisieren, aber ohne Server und Treiber ?

  Alt 1. Jun 2005, 14:22
hmm ich schreib dir erstmaln beispiel her wie ichs >dann< machen würde ...

Delphi-Quellcode:
uses
  Classes, // TStream
  Contnrs; // TObjectList

type
  TDatensatz = class
  private
    FSpalte1: string; // oder machst aus allem nen string, je nachdem wie deine datensaetze aufgebaut werden sollen
    FSpalte2: integer;
    FSpalte3: double;
  public
    procedure LoadFromStream(Stream: TStream);
    procedure SaveToStream(Stream: TStream);
  property
    Spalte1: string read FSpalte1 write FSpalte1; // oder string read FSpalte1 write SetSpalte1; - dann müsstest dir noch private procedure SetSpalte1(const Value: string); reinbasteln
// SpalteX...
  end;

  TDatensaetze = class(TObjectList)
  private
    function GetItems(Index: integer): TDatensatz;
    procedure SetItems(Index: integer; const Value: TDatensatz);
  public
    procedure LoadFromFile(const FileName: string);
    procedure LoadFromStream(Stream: TStream);
    procedure SaveToFile(const FileName: string);
    procedure SaveToStream(Stream: TStream);
    property Items[Index: integer]: TDatensatz read GetItems write SetItems; default;
  end;

implementation

procedure WriteStringToStream(Stream: TStream; const sText: string);
begin
  Stream.Write(Length(sText), 4); // 4 = SizeOf(Integer);
  Stream.Write(Pointer(sText)^, Length(sText));
// oder Stream.Write(sText[1], Length(sText));
end;

procedure ReadStringFromStream(Stream: TStream; var sText: string);
var
  iLength: integer;

begin
  Stream.Read(iLength, 4);
  SetLength(sText, iLength);
  Stream.Read(Pointer(sText)^, iLength);
// oder wieder Stream.Read(sText[1], iLength);
end;

{ TDatensatz }

procedure TDatensatz.LoadFromStream(Stream: TStream);
begin
  WriteStringToStream(Stream, FSpalte1);
  Stream.Write(FSpalte2, 4); // 4 = SizeOf(Integer)
  Stream.Write(FSpalte3, 8); // 8 = SizeOf(Double)
end;

procedure TDatensatz.SaveToStream(Stream: TStream);
begin
  ReadStringFromStream(Stream, FSpalte1);
  Stream.Read(FSpalte2, 4);
  Stream.Read(FSpalte3, 8);
end;

{ TDatensaetze }

function TDatensaetze.GetItems(Index: integer): TDatensatz;
begin
  if (Index > -1) and (Index < Count) then
    Result := TDatensatz(inherited Items[Index])
  else
    Result := nil;
end;

procedure TDatensaetze.LoadFromFile(const FileName: string);
var
  xFS: TFileStream;

begin
  if not FileExists(FileName) then
    Exit;
  xFS := TFileStream.Create(FileName, fmOpenRead or fmShareDenyNone);
  try
    LoadFromStream(xFS);
  finally
    FreeAndNil(xFS);
  end;
end;

procedure TDatensaetze.LoadFromStream(Stream: TStream);
var
  iCount: integer;
  iIndex: integer;
  xDatensatz: TDatensatz;

begin
  Stream.Read(iCount, 4);
  for iIndex := 0 to iCount - 1 do begin
    xDatensatz := TDatensatz.Create;
    xDatensatz.LoadFromStream(Stream);
    Add(xDatensatz);
  end;
end;

procedure TDatensaetze.SaveToFile(const FileName: string);
var
  xFS: TFileStream;

begin
  xFS := TFileStream.Create(FileName, fmCreate);
  try
    SaveToStream(xFS);
  finally
    FreeAndNil(xFS);
  end;
end;

procedure TDatensaetze.SaveToStream(Stream: TStream);
var
  iIndex: integer;

begin
  Stream.Write(Count, 4); // Count = Self.Count
  for iIndex := 0 to Count - 1 do
    Items[iIndex].SaveToStream(Stream);
end;

procedure TDatensaetze.SetItems(Index: integer; const Value: TDatensatz);
begin
  if (Index > -1) and (Index < Count) then
    Items[Index] := Value;
end;
p00h - ich hoffs iss soweit verständlich
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz