Einzelnen Beitrag anzeigen

Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#10
  Alt 17. Sep 2002, 08:39
Hallo m-werk,

das mit dem Buch ist eine gute Idee. Ich denke, wenn man Datenbankprogrammierung benötigt, sollte man den Grundlagen anfangen und da ist ein gutes Buch viel Wert. Man kann dann auch später gewisse Details einfach noch einmal nachschlagen.

Zitat:
also geht das einstellen vom Format wie z.B. 'Standartzahl oder Euro' nicht.
Solange du über die BDE auf eine Datenbank zugreifst, musst du dich mit "Loacal SQL" begnügen, was eine Untermenge des ANSI-SQL Standards ist. Die Angabe, wie Access Daten aus der Datenbank in einem Formular oder der Tabellenansicht darstellt, kann nicht über SQL festgelegt werden, sondern nur über die Oberfläche selbst. Zeigst du aber den Inhalt der DB in Delphi Komponenten an, kannst du dort das Format z.B. über die Eigenschaft DisplayFormat (siehe Online Hilfe) einstellen.

Zitat:
Was bedeutet FLOAT und MONEY?
Money ist mir eigentlich klar. Wie setze ich die in die SQL dazu?
FLOAT bedeutet einfach nur Gleitkommazahl. Es gibt auch das Format FLOAT(x,y) mit dem man die Genauigkeit der zu speichernden Daten angeben kann. Es ist aber leider so, dass der SQL String an die Datenbank geschickt wird und die diesen dann selbst umsetzt. Und das bedeutet, dass grundsätzlich die Umsetzung unterschiedlich sein kann (z.B. Genauigkeit). Money soll eigentlich 2 Nachkommastellen haben, dBase ersetzt es aber durch Numeric(20,4). Was ich damit sagen will, ist: Probier das Ganze mal mit Access aus und schau dir an, wie Access z.B. MONEY oder FLOAT umsetzt. FLOAT und MONEY sind Typen, die du syntaktisch anstelle von NUMERIC oder CHAR(20) in den o.g. Beispielen benutzen kannst.

Zitat:
Wie siehts eigentlich mit einem Ja/Neit Wert aus?
Das wäre der Typ BOOLEAN. Aber auch hier gilt: Nachprüfen, was die Datenbank daraus macht!

Zitat:
Wie soll ich das mir 'Clear' lösen?
Angenommen deine TQuery heißt qryInsert, dann schreibst du z.B.:

Code:
for i := 1 to 9 do
begin
   qryInsert.Close;
   qryInsert.SQL.Clear;
   qryInsert.SQL.Add(InsertStr[i]);
   qryInsert.ExecSQL
end;
Dabei sollte der Array InsertStr die neun verschiedenen SQL Statements enthalten, also:

InsertStr[1] := 'ALTER TABLE Kinder ADD XY NUMERIC';
InsertStr[2] := ...
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat