ADO-добавяне на ред
5 отговора
0 прегледа
ADO-добавяне на ред
with AdoTable1 do
begin
Active:=True;
Filtered:=false;
First;
while not eof do next;
append;
for i:=0 to FieldCount-1 do Fields.Value:=s;
post;
Active:=False;
end;
.........................................................................................
Искам да добавя най-отзад ред в базата, а ми го вмъква нейде по средата. Къде бъркам?!?!
begin
Active:=True;
Filtered:=false;
First;
while not eof do next;
append;
for i:=0 to FieldCount-1 do Fields.Value:=s;
post;
Active:=False;
end;
.........................................................................................
Искам да добавя най-отзад ред в базата, а ми го вмъква нейде по средата. Къде бъркам?!?!
Re: ADO-добавяне на ред
Бъркаш в това, че си мислиш че има "най-отзад", "отпред", "по средата" и т.н.
В базата данни нямаш дефинирана подредба на записите. Гледай на тях като на картофи в торба. Подредбата им я дефинираш ти - било то с order by клаузата в select заявката, било то с пропъртита като IndexName, IndexFieldName на ADOTable, ili pyk с пропъртито Sort на ADOQuery (препоръчвам ти да ползваш него, вместо ADOTable - имаш по добър контрол какво и как да извлечеш от сървъра, а не всичко, както е при ADOTable).
Linux isn't free, it's worthless.
В базата данни нямаш дефинирана подредба на записите. Гледай на тях като на картофи в торба. Подредбата им я дефинираш ти - било то с order by клаузата в select заявката, било то с пропъртита като IndexName, IndexFieldName на ADOTable, ili pyk с пропъртито Sort на ADOQuery (препоръчвам ти да ползваш него, вместо ADOTable - имаш по добър контрол какво и как да извлечеш от сървъра, а не всичко, както е при ADOTable).
Linux isn't free, it's worthless.
Re: ADO-добавяне на ред
Седя и си мисля дълбоко: Ами защо им са потрябвали тогава 2 команди (INSERT и APPEND)...
Колкото по-мисля - толкова повече ме заболява мозъка!
Колкото по-мисля - толкова повече ме заболява мозъка!
Re: ADO-добавяне на ред
adotable1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+NameBaza+';Persist Security Info=False';
Това сигурно има също значение.Сорка за многото постове, ама като не знам как да редактирам ....
Това сигурно има също значение.Сорка за многото постове, ама като не знам как да редактирам ....
Re: ADO-добавяне на ред
Insert и Append са неща наследени от TDataSet класа в делфито. Той е абстрактен и като цяло са се опитали да покрият всякакви възможни приложения. Ти можеш да се вързваш към различни източници на данни. За някои от тях може да има дефинирана подредба на данните, а за други да няма. В някои имплементации на наследници на TDataSet единия метод директно вика другия (например IBX), т.е. са едно и също. Но за други може да имаш поддръжка на местоположение на вмъкване и наистина да ти го вмъква на текущата позиция или в края на списъка. В такива ситуации би имало значение и дали подредбата ти е дефинирана от сървъра (order by) или локално в имплементацията на TDataSet.
Linux isn't free, it's worthless.
Linux isn't free, it's worthless.