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] := ...