Pergunta : Do BCD à DEMORA

Os caros peritos,

I têm um exemplo do BCD e eu quero convertê-lo a ADO.
It contenho 1 TDatabase componente e 6 TQuery-components.
I não podem figurar para fora com o código e o designcode do the
example o que a estrutura da base de dados é! O
1. quantas tabelas estão lá e como são eles chamaram?
2. Que são os nomes de coluna de cada tabela?
2. Como as tabelas são conetadas com o eachother?
3. E há umas chaves preliminares e extrangeiras? o
Can alguém figura para fora o que a estrutura do is
so da base de dados mim pode criar uma base de dados predefinida do MS-Access? o

Who é disposto ajudar-me? o
I põr algum dos procedimentos e do designcode que o
comes com o componente de TDatabase e os 6 TQuery-components
in o code-section.

Peter Kiers
class= > " desobstruído " do
> do " codeSnippet " do class= do
class= " lineNumbers " do
class= do
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 " do class= " do id= " codeSnippet842405 do
= de StartDate: D1) e (<= de EndDate: D2))")
    Esquerda = 392
    Parte superior = 560
    ParamData = <
      artigo
        DataType = ftString
        Nome = “SchedName”
        ParamType = ptUnknown
      extremidade
      artigo
        DataType = ftDate
        Nome = “D1”
        ParamType = ptUnknown
      extremidade
      artigo
        DataType = ftDate
        Nome = “D2”
        ParamType = ptUnknown
      end>
  extremidade
  objeto ApptSchedulesQuery: TQuery
    DatabaseName = “UTF”
    RequestLive = retifica
    SQL.Strings = (
      “Selecionar * de GroupLink”
      “Onde ApptID =: ApptID ")
    Esquerda = 424
    Parte superior = 560
    ParamData = <
      artigo
        DataType = ftString
        Nome = “ApptID”
        ParamType = ptUnknown
      end>
  extremidade
  objeto GetApptQuery: TQuery
    DatabaseName = “UTF”
    RequestLive = retifica
    SQL.Strings = (
      “Selecionar * de GroupAppt”
      “Onde ApptID =: ApptID ")
    Esquerda = 456
    Parte superior = 560
    ParamData = <
      artigo
        DataType = ftString
        Nome = “ApptID”
        ParamType = ptUnknown
      end>
  extremidade
  objeto DeleteApptLinkQuery: TQuery
    DatabaseName = “UTF”
    SQL.Strings = (
      “Supressão de GroupLink”
      “Onde ApptID =: ApptID ")
    Esquerda = 488
    Parte superior = 560
    ParamData = <
      artigo
        DataType = ftString
        Nome = “ApptID”
        ParamType = ptUnknown
      end>
  extremidade
  objeto DeleteApptQuery: TQuery
    DatabaseName = “UTF”
    SQL.Strings = (
      “Supressão de GroupAppt”
      “Onde ApptID =: ApptID ")
    Esquerda = 520
    Parte superior = 560
    ParamData = <
      artigo
        DataType = ftString
        Nome = “ApptID”
        ParamType = ptUnknown
      end>
  extremidade
  objeto SchedulesQuery: TQuery
    DatabaseName = “UTF”
    SQL.Strings = (
      “Distinto seleto (SchedName) de GroupLink ")
    Esquerda = 552
    Parte superior = 560
  extremidade
  dbUTF do objeto: TDatabase
    DatabaseName = “UTF”
    DriverName = “PADRÃO”
    LoginPrompt = falso
    Params.Strings = (
      “DEFEITO DRIVER=PARADOX”
      “PERMITIR BCD=FALSE ")
    SessionName = “defeito”
    Esquerda = 448
    Parte superior = 528
  extremidade
extremidade
(*---------------------------------------------------*)
procedimento TMainForm.utfSchedMgrDeleteAppt (remetente: TObject; Appt: TJvTFAppt);
começar
  Com DeleteApptQuery fazer
    Começar
      ParamByName (“ApptID ").AsString: = Appt.ID;
      ExecSQL;
    Extremidade;
  Com DeleteApptLinkQuery fazer
    Começar
      ParamByName (“ApptID ").AsString: = Appt.ID;
      ExecSQL;
    Extremidade;
extremidade;
(*---------------------------------------------------*)
procedimento TMainForm.utfSchedMgrLoadBatch (remetente: TObject; BatchName: corda;
  BatchStartDate, BatchEndDate: TDate);
var
  Appt: TJvTFAppt;
  NewAppt: Bôoleano;
começar
  Com NeedApptsQuery fazer
    Começar
      ParamByName (“D1”) .AsDate: = BatchStartDate;
      ParamByName (“D2”) .AsDate: = BatchEndDate;
      ParamByName (“SchedName ").AsString: = BatchName;
      Aberto;
      Primeiramente;
      Quando não o EOF fizer
        Começar
          utfSchedMgr.RequestAppt (FieldByName (“ApptID ").AsString,
            Appt, NewAppt);
          Se NewAppt então
            Começar
              Appt.SetStartEnd (FieldByName (“StartDate ").AsDateTime,
                               FieldByName (“StartTime ").AsDateTime,
                               FieldByName (“EndDate ").AsDateTime,
                               FieldByName (“EndTime ").AsDateTime);
              Appt.Description: = FieldByName (“descrição ").AsString;
              Appt.AlarmEnabled: = FieldByName (“AlarmEnabled ").AsBoolean;
              Appt.AlarmAdvance: = FieldByName (“AlarmAdvance ").AsInteger;
              Com ApptSchedulesQuery fazer
                Começar
                  ParamByName (“ApptID ").AsString: = Appt.ID;
                  Aberto;
                  Primeiramente;
                  Quando não o EOF fizer
                    Começar
                      Appt.AddSchedule (FieldByName (“SchedName ").AsString);
                      Em seguida;
                    Extremidade;
                  Fim;
                Extremidade;
            Extremidade;
          Em seguida;
        Extremidade;
      Fim;
    Extremidade;
extremidade;
(*---------------------------------------------------*)
procedimento TMainForm.utfSchedMgrPostAppt (remetente: TObject; Appt: TJvTFAppt);
var
  I: Inteiro;
começar
  Com GetApptQuery fazer
    Começar
      ParamByName (“ApptID ").AsString: = Appt.ID;
      Aberto;
      Se RecordCount > 0 então
        Editar
      Mais
        Começar
          Introduzir;
          FieldByName (“ApptID ").AsString: = Appt.ID;
        Extremidade;
      FieldByName (“StartDate ").AsDateTime: = Appt.StartDate;
      FieldByName (“StartTime ").AsDateTime: = Appt.StartTime;
      FieldByName (“EndDate ").AsDateTime: = Appt.EndDate;
      FieldByName (“EndTime ").AsDateTime: = Appt.EndTime;
      FieldByName (“descrição ").AsString: = Appt.Description;
      FieldByName (“AlarmEnabled ").AsBoolean: = Appt.AlarmEnabled;
      FieldByName (“AlarmAdvance ").AsInteger: = Appt.AlarmAdvance;
      Borne;
      Fim;
    Extremidade;
  Com DeleteApptLinkQuery fazer
    Começar
      ParamByName (“ApptID ").AsString: = Appt.ID;
      ExecSQL;
    Extremidade;
  Com ApptSchedulesQuery fazer
    Começar
      ParamByName (“ApptID ").AsString: = Appt.ID;
      Aberto;
      Para I: = 0 a Appt.ScheduleCount - 1 faz
        Começar
          Introduzir;
          FieldByName (“ApptID ").AsString: = Appt.ID;
          FieldByName (“SchedName ").AsString: = Appt.Schedules [I];
          Borne;
        Extremidade;
      Fim;
    Extremidade;
extremidade;
(*---------------------------------------------------*)
procedimento TMainForm.utfSchedMgrRefreshAppt (remetente: TObject; Appt: TJvTFAppt);
começar
  Com GetApptQuery fazer
    Começar
      ParamByName (“ApptID ").AsString: = Appt.ID;
      Aberto;
      Se RecordCount = 1 então
        Começar
          Appt.SetStartEnd (FieldByName (“StartDate ").AsDateTime,
                           FieldByName (“StartTime ").AsDateTime,
                           FieldByName (“EndDate ").AsDateTime,
                           FieldByName (“EndTime ").AsDateTime);
          Appt.Description: = FieldByName (“descrição ").AsString;
          Appt.AlarmEnabled: = FieldByName (“AlarmEnabled ").AsBoolean;
          Appt.AlarmAdvance: = FieldByName (“AlarmAdvance ").AsInteger;
        Extremidade;
      Fim;
    Extremidade;
  Appt.ClearSchedules;
  Com ApptSchedulesQuery fazer
    Começar
      ParamByName (“ApptID ").AsString: = Appt.ID;
      Aberto;
      Primeiramente;
      Quando não o EOF fizer
        Começar
          Appt.AddSchedule (FieldByName (“SchedName ").AsString);
          Em seguida;
        Extremidade;
      Fim;
    Extremidade;
extremidade;
(*---------------------------------------------------*)
class= do

Resposta : Do BCD à DEMORA

Picosegundo.   como usar perguntas com DEMORA ver http://delphi.about.com/od/database/l/aa050101a.htm

se você quer usar por exemplo o ACESSO do MS e deixa seu uso do programa os componentes http://zeos.firmos.at/portal.php da base de dados de ZEOS

, o MS grande ACCESSS da vantagem não somente, mas você pode usar então igualmente o usuário do MS SQL, MEU SQL, ..... - > a flexibilidade a mais grande para a sustentação de mais systemes da base de dados

 

Outras soluções  
 
programming4us programming4us