Frage : Von BCD zu AUFHEBEN

Liebe Experten,

I haben ein BCD-Beispiel und ich möchte es in ADO.
It umwandeln enthalte 1 Teil TDatabase und 6 TQuery-components.
I können nicht mit dem Code und dem designcode von the
example herausfinden, was die Struktur der Datenbank ist!
1., wieviele Tabellen dort sind und wie sind sie benannten?
2. Was sind die Spaltennamen jeder Tabelle?
2. Wie werden die Tabellen mit eachother angeschlossen?
3. Und gibt es Primär- und fremde Schlüssel?
Can jemand finden heraus, was die Struktur des Datenbank is
so ich eine vorbestimmte MS-Accessdatenbank verursachen kann?

Who ist bereit, mir zu helfen?
I haben etwas von den Verfahren und dem designcode gesetzt, das
comes mit dem TDatabase Bestandteil und den 6 TQuery-components
in das code-section.

Peter Kiers
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
object NeedApptsQuery: TQuery
    DatabaseName = „UTF“
    SQL.Strings = (
      „* von GroupLink, GroupAppt vorwählen“
      „, wo (SchedName =: SchedName)“
      „Und (GroupLink.ApptID = GroupAppt.ApptID)“
      „Und ((StartDate >=: D1) und (EndDate <=: D2))")
    Links = 392
    Oberseite = 560
    ParamData = <
      Einzelteil
        DataType = ftString
        Name = „SchedName“
        ParamType = ptUnknown
      Ende
      Einzelteil
        DataType = ftDate
        Name = „D1“
        ParamType = ptUnknown
      Ende
      Einzelteil
        DataType = ftDate
        Name = „D2“
        ParamType = ptUnknown
      end>
  Ende
  Gegenstand ApptSchedulesQuery: TQuery
    DatabaseName = „UTF“
    RequestLive = richten aus
    SQL.Strings = (
      „* von GroupLink vorwählen“
      „, wo ApptID =: ApptID ")
    Links = 424
    Oberseite = 560
    ParamData = <
      Einzelteil
        DataType = ftString
        Name = „ApptID“
        ParamType = ptUnknown
      end>
  Ende
  Gegenstand GetApptQuery: TQuery
    DatabaseName = „UTF“
    RequestLive = richten aus
    SQL.Strings = (
      „* von GroupAppt vorwählen“
      „, wo ApptID =: ApptID ")
    Links = 456
    Oberseite = 560
    ParamData = <
      Einzelteil
        DataType = ftString
        Name = „ApptID“
        ParamType = ptUnknown
      end>
  Ende
  Gegenstand DeleteApptLinkQuery: TQuery
    DatabaseName = „UTF“
    SQL.Strings = (
      „Löschung von GroupLink“
      „, wo ApptID =: ApptID ")
    Links = 488
    Oberseite = 560
    ParamData = <
      Einzelteil
        DataType = ftString
        Name = „ApptID“
        ParamType = ptUnknown
      end>
  Ende
  Gegenstand DeleteApptQuery: TQuery
    DatabaseName = „UTF“
    SQL.Strings = (
      „Löschung von GroupAppt“
      „, wo ApptID =: ApptID ")
    Links = 520
    Oberseite = 560
    ParamData = <
      Einzelteil
        DataType = ftString
        Name = „ApptID“
        ParamType = ptUnknown
      end>
  Ende
  Gegenstand SchedulesQuery: TQuery
    DatabaseName = „UTF“
    SQL.Strings = (
      „Auserwähltes eindeutiges (SchedName) von GroupLink ")
    Links = 552
    Oberseite = 560
  Ende
  Gegenstand dbUTF: TDatabase
    DatabaseName = „UTF“
    DriverName = „STANDARD“
    LoginPrompt = falsch
    Params.Strings = (
      „RÜCKSTELLUNG DRIVER=PARADOX“
      „BCD=FALSE ERMÖGLICHEN ")
    SessionName = „Rückstellung“
    Links = 448
    Oberseite = 528
  Ende
Ende
(*---------------------------------------------------*)
Verfahren TMainForm.utfSchedMgrDeleteAppt (Absender: TObject; Appt: TJvTFAppt);
anfangen
  Mit DeleteApptQuery tun
    Anfangen
      ParamByName („ApptID ").AsString: = Appt.ID;
      ExecSQL;
    Ende;
  Mit DeleteApptLinkQuery tun
    Anfangen
      ParamByName („ApptID ").AsString: = Appt.ID;
      ExecSQL;
    Ende;
Ende;
(*---------------------------------------------------*)
Verfahren TMainForm.utfSchedMgrLoadBatch (Absender: TObject; BatchName: Schnur;
  BatchStartDate, BatchEndDate: TDate);
var
  Appt: TJvTFAppt;
  NewAppt: Boolesch;
anfangen
  Mit NeedApptsQuery tun
    Anfangen
      ParamByName („D1“) .AsDate: = BatchStartDate;
      ParamByName („D2“) .AsDate: = BatchEndDate;
      ParamByName („SchedName ").AsString: = BatchName;
      Geöffnet;
      Zuerst;
      Während nicht EOF tun
        Anfangen
          utfSchedMgr.RequestAppt (FieldByName („ApptID ").AsString,
            Appt, NewAppt);
          Wenn NewAppt dann
            Anfangen
              Appt.SetStartEnd (FieldByName („StartDate ").AsDateTime,
                               FieldByName („StartTime ").AsDateTime,
                               FieldByName („EndDate ").AsDateTime,
                               FieldByName („EndTime ").AsDateTime);
              Appt.Description: = FieldByName („Beschreibung ").AsString;
              Appt.AlarmEnabled: = FieldByName („AlarmEnabled ").AsBoolean;
              Appt.AlarmAdvance: = FieldByName („AlarmAdvance ").AsInteger;
              Mit ApptSchedulesQuery tun
                Anfangen
                  ParamByName („ApptID ").AsString: = Appt.ID;
                  Geöffnet;
                  Zuerst;
                  Während nicht EOF tun
                    Anfangen
                      Appt.AddSchedule (FieldByName („SchedName ").AsString);
                      Zunächst;
                    Ende;
                  Abschluss;
                Ende;
            Ende;
          Zunächst;
        Ende;
      Abschluss;
    Ende;
Ende;
(*---------------------------------------------------*)
Verfahren TMainForm.utfSchedMgrPostAppt (Absender: TObject; Appt: TJvTFAppt);
var
  I: Ganze Zahl;
anfangen
  Mit GetApptQuery tun
    Anfangen
      ParamByName („ApptID ").AsString: = Appt.ID;
      Geöffnet;
      Wenn RecordCount > 0 dann
        Redigieren
      Sonst
        Anfangen
          Einsetzen;
          FieldByName („ApptID ").AsString: = Appt.ID;
        Ende;
      FieldByName („StartDate ").AsDateTime: = Appt.StartDate;
      FieldByName („StartTime ").AsDateTime: = Appt.StartTime;
      FieldByName („EndDate ").AsDateTime: = Appt.EndDate;
      FieldByName („EndTime ").AsDateTime: = Appt.EndTime;
      FieldByName („Beschreibung ").AsString: = Appt.Description;
      FieldByName („AlarmEnabled ").AsBoolean: = Appt.AlarmEnabled;
      FieldByName („AlarmAdvance ").AsInteger: = Appt.AlarmAdvance;
      Pfosten;
      Abschluss;
    Ende;
  Mit DeleteApptLinkQuery tun
    Anfangen
      ParamByName („ApptID ").AsString: = Appt.ID;
      ExecSQL;
    Ende;
  Mit ApptSchedulesQuery tun
    Anfangen
      ParamByName („ApptID ").AsString: = Appt.ID;
      Geöffnet;
      Für I: = 0 zu Appt.ScheduleCount - 1 tun
        Anfangen
          Einsetzen;
          FieldByName („ApptID ").AsString: = Appt.ID;
          FieldByName („SchedName ").AsString: = Appt.Schedules [I];
          Pfosten;
        Ende;
      Abschluss;
    Ende;
Ende;
(*---------------------------------------------------*)
Verfahren TMainForm.utfSchedMgrRefreshAppt (Absender: TObject; Appt: TJvTFAppt);
anfangen
  Mit GetApptQuery tun
    Anfangen
      ParamByName („ApptID ").AsString: = Appt.ID;
      Geöffnet;
      Wenn RecordCount = 1 dann
        Anfangen
          Appt.SetStartEnd (FieldByName („StartDate ").AsDateTime,
                           FieldByName („StartTime ").AsDateTime,
                           FieldByName („EndDate ").AsDateTime,
                           FieldByName („EndTime ").AsDateTime);
          Appt.Description: = FieldByName („Beschreibung ").AsString;
          Appt.AlarmEnabled: = FieldByName („AlarmEnabled ").AsBoolean;
          Appt.AlarmAdvance: = FieldByName („AlarmAdvance ").AsInteger;
        Ende;
      Abschluss;
    Ende;
  Appt.ClearSchedules;
  Mit ApptSchedulesQuery tun
    Anfangen
      ParamByName („ApptID ").AsString: = Appt.ID;
      Geöffnet;
      Zuerst;
      Während nicht EOF tun
        Anfangen
          Appt.AddSchedule (FieldByName („SchedName ").AsString);
          Zunächst;
        Ende;
      Abschluss;
    Ende;
Ende;
(*---------------------------------------------------*)

Antwort : Von BCD zu AUFHEBEN

PS.   wie man Fragen mit AUFHEBEN http://delphi.about.com/od/database/l/aa050101a.htm sehen verwendet

wenn Sie Mitgliedstaat-ZUGANG z.B. verwenden möchten und Ihren Programmgebrauch die ZEOS Datenbankbestandteile http://zeos.firmos.at/portal.php lassen

, können grosser Vorteil nicht nur Mitgliedstaat ACCESSS, aber Sie Mitgliedstaat-SQL-Server, MEINEN SQL dann auch benutzen, ..... - > größte Flexibilität für Unterstützung mehr Datenbank systemes

 

Weitere Lösungen  
 
programming4us programming4us