Questione : Dal DCB a DIFFICOLTÀ

I cari esperti, il

I hanno un esempio di DCB e voglio convertirlo in ADO.
It contengo 1 TDatabase componente e 6 TQuery-components.
I non possono calcolare fuori con il codice e il designcode di the
example che cosa la struttura della base di dati è! Il
1. quanto tabelle sono là e come sono hanno denominato?
2. Che cosa sono i nomi di colonna di ogni tabella?
2. Come le tabelle sono collegate con eachother?
3. E sono ci chiavi primarie e straniere? il
Can qualcuno calcola fuori che cosa la struttura del is
so della base di dati io può generare una base di dati predefinita del MS-Access? il

Who è disposto ad aiutarlo? il
I ha messo alcuno delle procedure e del designcode che
comes con la componente di TDatabase ed i 6 TQuery-components
in il code-section.

Peter Kiers
class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
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 notpretty NeedApptsQuery " del class= " del id= " codeSnippet842405 del
= di StartDate: D1) e (<= di EndDate: D2))")
    Parte di sinistra = 392
    Parte superiore = 560
    ParamData = <
      articolo
        DataType = ftString
        Nome = “SchedName„
        ParamType = ptUnknown
      estremità
      articolo
        DataType = ftDate
        Nome = “D1„
        ParamType = ptUnknown
      estremità
      articolo
        DataType = ftDate
        Nome = “D2„
        ParamType = ptUnknown
      end>
  estremità
  oggetto ApptSchedulesQuery: TQuery
    DatabaseName = “UTF„
    RequestLive = allinea
    SQL.Strings = (
      “Selezionare * a partire da GroupLink„
      “Dove ApptID =: ApptID ")
    Parte di sinistra = 424
    Parte superiore = 560
    ParamData = <
      articolo
        DataType = ftString
        Nome = “ApptID„
        ParamType = ptUnknown
      end>
  estremità
  oggetto GetApptQuery: TQuery
    DatabaseName = “UTF„
    RequestLive = allinea
    SQL.Strings = (
      “Selezionare * a partire da GroupAppt„
      “Dove ApptID =: ApptID ")
    Parte di sinistra = 456
    Parte superiore = 560
    ParamData = <
      articolo
        DataType = ftString
        Nome = “ApptID„
        ParamType = ptUnknown
      end>
  estremità
  oggetto DeleteApptLinkQuery: TQuery
    DatabaseName = “UTF„
    SQL.Strings = (
      “Cancellazione da GroupLink„
      “Dove ApptID =: ApptID ")
    Parte di sinistra = 488
    Parte superiore = 560
    ParamData = <
      articolo
        DataType = ftString
        Nome = “ApptID„
        ParamType = ptUnknown
      end>
  estremità
  oggetto DeleteApptQuery: TQuery
    DatabaseName = “UTF„
    SQL.Strings = (
      “Cancellazione da GroupAppt„
      “Dove ApptID =: ApptID ")
    Parte di sinistra = 520
    Parte superiore = 560
    ParamData = <
      articolo
        DataType = ftString
        Nome = “ApptID„
        ParamType = ptUnknown
      end>
  estremità
  oggetto SchedulesQuery: TQuery
    DatabaseName = “UTF„
    SQL.Strings = (
      “Distinto prescelto (SchedName) da GroupLink ")
    Parte di sinistra = 552
    Parte superiore = 560
  estremità
  dbUTF dell'oggetto: TDatabase
    DatabaseName = “UTF„
    DriverName = “CAMPIONE„
    LoginPrompt = falso
    Params.Strings = (
      “DIFETTO DRIVER=PARADOX„
      “PERMETTERE A BCD=FALSE ")
    SessionName = “difetto„
    Parte di sinistra = 448
    Parte superiore = 528
  estremità
estremità
(*---------------------------------------------------*)
procedura TMainForm.utfSchedMgrDeleteAppt (mittente: TObject; Appt: TJvTFAppt);
cominciare
  Con DeleteApptQuery fare
    Cominciare
      ParamByName (“ApptID ").AsString: = Appt.ID;
      ExecSQL;
    Estremità;
  Con DeleteApptLinkQuery fare
    Cominciare
      ParamByName (“ApptID ").AsString: = Appt.ID;
      ExecSQL;
    Estremità;
estremità;
(*---------------------------------------------------*)
procedura TMainForm.utfSchedMgrLoadBatch (mittente: TObject; BatchName: stringa;
  BatchStartDate, BatchEndDate: TDate);
varietà
  Appt: TJvTFAppt;
  NewAppt: Booleano;
cominciare
  Con NeedApptsQuery fare
    Cominciare
      ParamByName (“D1„) .AsDate: = BatchStartDate;
      ParamByName (“D2„) .AsDate: = BatchEndDate;
      ParamByName (“SchedName ").AsString: = BatchName;
      Aperto;
      In primo luogo;
      Mentre non il EOF fa
        Cominciare
          utfSchedMgr.RequestAppt (FieldByName (“ApptID ").AsString,
            Appt, NewAppt);
          Se NewAppt allora
            Cominciare
              Appt.SetStartEnd (FieldByName (“StartDate ").AsDateTime,
                               FieldByName (“StartTime ").AsDateTime,
                               FieldByName (“EndDate ").AsDateTime,
                               FieldByName (“EndTime ").AsDateTime);
              Appt.Description: = FieldByName (“descrizione ").AsString;
              Appt.AlarmEnabled: = FieldByName (“AlarmEnabled ").AsBoolean;
              Appt.AlarmAdvance: = FieldByName (“AlarmAdvance ").AsInteger;
              Con ApptSchedulesQuery fare
                Cominciare
                  ParamByName (“ApptID ").AsString: = Appt.ID;
                  Aperto;
                  In primo luogo;
                  Mentre non il EOF fa
                    Cominciare
                      Appt.AddSchedule (FieldByName (“SchedName ").AsString);
                      Dopo;
                    Estremità;
                  Fine;
                Estremità;
            Estremità;
          Dopo;
        Estremità;
      Fine;
    Estremità;
estremità;
(*---------------------------------------------------*)
procedura TMainForm.utfSchedMgrPostAppt (mittente: TObject; Appt: TJvTFAppt);
varietà
  I: Numero intero;
cominciare
  Con GetApptQuery fare
    Cominciare
      ParamByName (“ApptID ").AsString: = Appt.ID;
      Aperto;
      Se RecordCount > 0 allora
        Pubblicare
      Altrimenti
        Cominciare
          Inserire;
          FieldByName (“ApptID ").AsString: = Appt.ID;
        Estremità;
      FieldByName (“StartDate ").AsDateTime: = Appt.StartDate;
      FieldByName (“StartTime ").AsDateTime: = Appt.StartTime;
      FieldByName (“EndDate ").AsDateTime: = Appt.EndDate;
      FieldByName (“EndTime ").AsDateTime: = Appt.EndTime;
      FieldByName (“descrizione ").AsString: = Appt.Description;
      FieldByName (“AlarmEnabled ").AsBoolean: = Appt.AlarmEnabled;
      FieldByName (“AlarmAdvance ").AsInteger: = Appt.AlarmAdvance;
      Alberino;
      Fine;
    Estremità;
  Con DeleteApptLinkQuery fare
    Cominciare
      ParamByName (“ApptID ").AsString: = Appt.ID;
      ExecSQL;
    Estremità;
  Con ApptSchedulesQuery fare
    Cominciare
      ParamByName (“ApptID ").AsString: = Appt.ID;
      Aperto;
      Per la I: = 0 a Appt.ScheduleCount - 1 fa
        Cominciare
          Inserire;
          FieldByName (“ApptID ").AsString: = Appt.ID;
          FieldByName (“SchedName ").AsString: = Appt.Schedules [I];
          Alberino;
        Estremità;
      Fine;
    Estremità;
estremità;
(*---------------------------------------------------*)
procedura TMainForm.utfSchedMgrRefreshAppt (mittente: TObject; Appt: TJvTFAppt);
cominciare
  Con GetApptQuery fare
    Cominciare
      ParamByName (“ApptID ").AsString: = Appt.ID;
      Aperto;
      Se RecordCount = 1 allora
        Cominciare
          Appt.SetStartEnd (FieldByName (“StartDate ").AsDateTime,
                           FieldByName (“StartTime ").AsDateTime,
                           FieldByName (“EndDate ").AsDateTime,
                           FieldByName (“EndTime ").AsDateTime);
          Appt.Description: = FieldByName (“descrizione ").AsString;
          Appt.AlarmEnabled: = FieldByName (“AlarmEnabled ").AsBoolean;
          Appt.AlarmAdvance: = FieldByName (“AlarmAdvance ").AsInteger;
        Estremità;
      Fine;
    Estremità;
  Appt.ClearSchedules;
  Con ApptSchedulesQuery fare
    Cominciare
      ParamByName (“ApptID ").AsString: = Appt.ID;
      Aperto;
      In primo luogo;
      Mentre non il EOF fa
        Cominciare
          Appt.AddSchedule (FieldByName (“SchedName ").AsString);
          Dopo;
        Estremità;
      Fine;
    Estremità;
estremità;
(*---------------------------------------------------*)
class= del

Risposta : Dal DCB a DIFFICOLTÀ

PS.   come usare le domande con DIFFICOLTÀ vedere http://delphi.about.com/od/database/l/aa050101a.htm

se volete usare per esempio l'ACCESSO del ms e lasciate il vostro uso di programma le componenti http://zeos.firmos.at/portal.php della base di dati di ZEOS

, il grande ms ACCESSS di vantaggio non solo, ma voi può allora utilizzare anche l'assistente del ms SQL, il MIO SQL, ..... - > la più grande flessibilità per supporto di più systemes della base di dati

 

Altre soluzioni  
 
programming4us programming4us