Vraag : Van BCD aan DRUKTE

De beste Deskundigen,

I hebben een Bcd- voorbeeld en ik wil het in ADO.
It omzetten bevat 1 component TDatabase en 6 tQuery-Components.
I kunnen niet met de code en designcode van the
example berekenen wat de structuur van het gegevensbestand is!
1. Hoeveel lijsten zijn daar en hoe worden zij geroepen?
2. Wat zijn de kolomnamen van elke lijst?
2. Hoe worden de lijsten verbonden aan eachother?
3. En zijn er primaire en buitenlandse sleutels?
Can iemand berekent wat de structuur van het gegevensbestand is
so ik tot een vooraf bepaald MS-Access- gegevensbestand kan leiden? is

Who bereid om me te helpen?
I heeft enkele procedures en designcode gezet die
comes met de component TDatabase en 6 TQuery -tQuery-components
in code-section.

Peter Kiers
" codeBody "
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:
36:
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 = (
      „Selecteer * uit GroupLink, GroupAppt“
      „Waar (SchedName =: SchedName)“
      „En (GroupLink.ApptID = GroupAppt.ApptID)“
      „En ((StartDate >=: D1) en (EndDate <=: D2))“)
    Linkerzijde = 392
    Bovenkant = 560
    ParamData = <
      punt
        DataType = ftString
        Naam = „SchedName“
        ParamType = ptUnknown
      eind
      punt
        DataType = ftDate
        Naam = „D1“
        ParamType = ptUnknown
      eind
      punt
        DataType = ftDate
        Naam = „D2“
        ParamType = ptUnknown
      end>
  eind
  voorwerp ApptSchedulesQuery: TQuery
    DatabaseName = „UTF“
    RequestLive = Waar
    SQL.Strings = (
      „Selecteer * uit GroupLink“
      „Waar ApptID =: ApptID“)
    Linkerzijde = 424
    Bovenkant = 560
    ParamData = <
      punt
        DataType = ftString
        Naam = „ApptID“
        ParamType = ptUnknown
      end>
  eind
  voorwerp GetApptQuery: TQuery
    DatabaseName = „UTF“
    RequestLive = Waar
    SQL.Strings = (
      „Selecteer * uit GroupAppt“
      „Waar ApptID =: ApptID“)
    Linkerzijde = 456
    Bovenkant = 560
    ParamData = <
      punt
        DataType = ftString
        Naam = „ApptID“
        ParamType = ptUnknown
      end>
  eind
  voorwerp DeleteApptLinkQuery: TQuery
    DatabaseName = „UTF“
    SQL.Strings = (
      „Schrap van GroupLink“
      „Waar ApptID =: ApptID“)
    Linkerzijde = 488
    Bovenkant = 560
    ParamData = <
      punt
        DataType = ftString
        Naam = „ApptID“
        ParamType = ptUnknown
      end>
  eind
  voorwerp DeleteApptQuery: TQuery
    DatabaseName = „UTF“
    SQL.Strings = (
      „Schrap van GroupAppt“
      „Waar ApptID =: ApptID“)
    Linkerzijde = 520
    Bovenkant = 560
    ParamData = <
      punt
        DataType = ftString
        Naam = „ApptID“
        ParamType = ptUnknown
      end>
  eind
  voorwerp SchedulesQuery: TQuery
    DatabaseName = „UTF“
    SQL.Strings = (
      „Uitgezochte Verschillend (SchedName) van GroupLink“)
    Linkerzijde = 552
    Bovenkant = 560
  eind
  voorwerp dbUTF: TDatabase
    DatabaseName = „UTF“
    DriverName = „NORM“
    LoginPrompt = Vals
    Params.Strings = (
      „GEBREK DRIVER=PARADOX“
      „LAAT BCD=FALSE TOE“)
    SessionName = „blijft“ in gebreke
    Linkerzijde = 448
    Bovenkant = 528
  eind
eind
(**)
procedure TMainForm.utfSchedMgrDeleteAppt (Afzender: TObject; Appt: TJvTFAppt);
begin
  Met DeleteApptQuery 
    Begin
      ParamByName („ApptID“) .AsString: = Appt.ID;
      ExecSQL;
    Eind;
  Met DeleteApptLinkQuery 
    Begin
      ParamByName („ApptID“) .AsString: = Appt.ID;
      ExecSQL;
    Eind;
eind;
(**)
procedure TMainForm.utfSchedMgrLoadBatch (Afzender: TObject; BatchName: koord;
  BatchStartDate, BatchEndDate: TDate);
var
  Appt: TJvTFAppt;
  NewAppt: Van Boole;
begin
  Met NeedApptsQuery 
    Begin
      ParamByName („D1“) .AsDate: = BatchStartDate;
      ParamByName („D2“) .AsDate: = BatchEndDate;
      ParamByName („SchedName“) .AsString: = BatchName;
      Open;
      Eerst;
      Terwijl niet EOF 
        Begin
          utfSchedMgr.RequestAppt (FieldByName („ApptID“) .AsString,
            Appt, NewAppt);
          Als NewAppt toen
            Begin
              Appt.SetStartEnd (FieldByName („StartDate“) .AsDateTime,
                               FieldByName („StartTime“) .AsDateTime,
                               FieldByName („EndDate“) .AsDateTime,
                               FieldByName („EndTime“) .AsDateTime);
              Appt.Description: = FieldByName („Beschrijving“) .AsString;
              Appt.AlarmEnabled: = FieldByName („AlarmEnabled“) .AsBoolean;
              Appt.AlarmAdvance: = FieldByName („AlarmAdvance“) .AsInteger;
              Met ApptSchedulesQuery 
                Begin
                  ParamByName („ApptID“) .AsString: = Appt.ID;
                  Open;
                  Eerst;
                  Terwijl niet EOF 
                    Begin
                      Appt.AddSchedule (FieldByName („SchedName“) .AsString);
                      Daarna;
                    Eind;
                  Sluit;
                Eind;
            Eind;
          Daarna;
        Eind;
      Sluit;
    Eind;
eind;
(**)
procedure TMainForm.utfSchedMgrPostAppt (Afzender: TObject; Appt: TJvTFAppt);
var
  I: Geheel;
begin
  Met GetApptQuery 
    Begin
      ParamByName („ApptID“) .AsString: = Appt.ID;
      Open;
      Als RecordCount > 0 toen
        Geef uit
      Anders
        Begin
          Tussenvoegsel;
          FieldByName („ApptID“) .AsString: = Appt.ID;
        Eind;
      FieldByName („StartDate“) .AsDateTime: = Appt.StartDate;
      FieldByName („StartTime“) .AsDateTime: = Appt.StartTime;
      FieldByName („EndDate“) .AsDateTime: = Appt.EndDate;
      FieldByName („EndTime“) .AsDateTime: = Appt.EndTime;
      FieldByName („Beschrijving“) .AsString: = Appt.Description;
      FieldByName („AlarmEnabled“) .AsBoolean: = Appt.AlarmEnabled;
      FieldByName („AlarmAdvance“) .AsInteger: = Appt.AlarmAdvance;
      Post;
      Sluit;
    Eind;
  Met DeleteApptLinkQuery 
    Begin
      ParamByName („ApptID“) .AsString: = Appt.ID;
      ExecSQL;
    Eind;
  Met ApptSchedulesQuery 
    Begin
      ParamByName („ApptID“) .AsString: = Appt.ID;
      Open;
      Voor I: = 0 aan Appt.ScheduleCount - 1 
        Begin
          Tussenvoegsel;
          FieldByName („ApptID“) .AsString: = Appt.ID;
          FieldByName („SchedName“) .AsString: = Appt.Schedules [I];
          Post;
        Eind;
      Sluit;
    Eind;
eind;
(**)
procedure TMainForm.utfSchedMgrRefreshAppt (Afzender: TObject; Appt: TJvTFAppt);
begin
  Met GetApptQuery 
    Begin
      ParamByName („ApptID“) .AsString: = Appt.ID;
      Open;
      Als RecordCount = 1 toen
        Begin
          Appt.SetStartEnd (FieldByName („StartDate“) .AsDateTime,
                           FieldByName („StartTime“) .AsDateTime,
                           FieldByName („EndDate“) .AsDateTime,
                           FieldByName („EndTime“) .AsDateTime);
          Appt.Description: = FieldByName („Beschrijving“) .AsString;
          Appt.AlarmEnabled: = FieldByName („AlarmEnabled“) .AsBoolean;
          Appt.AlarmAdvance: = FieldByName („AlarmAdvance“) .AsInteger;
        Eind;
      Sluit;
    Eind;
  Appt.ClearSchedules;
  Met ApptSchedulesQuery 
    Begin
      ParamByName („ApptID“) .AsString: = Appt.ID;
      Open;
      Eerst;
      Terwijl niet EOF 
        Begin
          Appt.AddSchedule (FieldByName („SchedName“) .AsString);
          Daarna;
        Eind;
      Sluit;
    Eind;
eind;
(**)

Antwoord : Van BCD aan DRUKTE

PS.   hoe te vragen met DRUKTE gebruiken zie http://delphi.about.com/od/database/l/aa050101a.htm

als u b.v. MS-Access wilt gebruiken en uw programma laten de Zeos- gegevensbestandcomponenten http://zeos.firmos.at/portal.php gebruiken

, kunnen grote voordeel niet alleen lidstaten ACCESSS, maar u de server van lidstaten SQL, MIJN SQL ook dan gebruiken, ..... - > grootste flexibiliteit voor steun van meer gegevensbestand systemes

 

Andere oplossingen  
 
programming4us programming4us