TIP: Click on subject to list as thread! ANSI
echo: delphi
to: ALL
from: YURII RASHKOVSKII
date: 1997-12-02 14:54:00
subject: I`ll help: D3: Apply Updates for 2 linke14:54:3212/02/97

ddt.demos.su!f400.n5020!f121.n461!useua!f121.n461!f700.n461!f79.n461!f11.n461!
not-for-mail
████ OS/2                 Hi, All!
■ Mon Dec 01 1997, 21:18
■ Zhitomirsky Mark wrote All
■ on subject: D3: Apply Updates for 2 linked TQuery
Ghrmmrm! This Zhtomirsky Mark wrote russian, so... I will help him, I hope my
translation will be correct.
I think, his letter you see as a number of strange symbols. The reason is in
using russian 866 codepage. And russian language. It is not international, I
think. ;)
 ZM> Один знакомый сказал мне, что это глюк. Я объяснил ему, что это не
 ZM> так
 ZM> и, что ему следует сделать. Расскажу и для All. Если два TQuery
 ZM> завязаны по DataSource, и вам вздумалось сделать ApplyUpdates для
 ZM> TDatabase, то может случится беда: главная запись сохраниться, а
 ZM> детские - fly-fly... Это связано с тем, что key главной таблицы
 ZM> сохраняется, вызывая переоткрытие детского TQuery. Процедура
 ZM> эта невоспитанно-грубая и кэш не сохраняет (естественно). Весь вопрос,
 ZM> как
 ZM> этого избежать?
 ZM> 1. Если нет внешнего ключа, то запомните сначала детские записи.  Если
 ZM> этот ключ есть, то не выйдет: master key missed (см далее). Порядок в
 ZM> TDatabase.ApplyUpdates[..] имеет значение, этим и пользуйтесь. 2.
 ZM> Запишите пустую (можно и не пустую, но не мучайтесь) главную запись. В
 ZM> InsertSQL напишитке update вместо insert. Остальное так же.
 ZM> Hе забывайте запрещать гулять по мастеру, по пока "дети на свободе".
 ZM> Самый же умный совет: не связываете TQuery таким образом SQL сервер и
 ZM> сеть вам этого не простит.
Well... Lets begin:
"
One my friend said, that it is a bug. I said him, that it is not truth, adn
showed him, how to do it. I will say how to All. If two TQuerys linked by
DataSource, and you want to apply ApplyUpdates for TDatabase, you can find 
next
trouble: main record will be saved, and childs - fly-fly... Because the key 
f
main saves, calling reopen of childs TQuery. This procedure is not saving 
cache
( of course ). All question is "How to pass this trouble?".
1. If you haven't an external key, remember first child records. If you have
this key, it will not work: master key missed (look down). Count in
TDatabase.ApplyUpdates[..] have sence, use it.
2. Write empty main record ( you may do it not empty, but for what? ) In
InsertSQL write update, but not insert. And so on.
Do not forget to restrict "walking" throw the wizard,  while "childs on fresh
air ;) ( My fix, YR) ". Most clever idea: do not link by this method, SQL
server
and net do not like it ;) "
WHoohh... 2ZM: it is an international echo, so write next letters english! Hi
from Ukraine ;)~~!
P.S. Sorry for my "warp" english, I don't know it very good, I'm only 16 
years.
 Yurii Rashkovskii, e-mail: rashkovskii@ilt.kharkov.ua, 27:10/2@IMLnet
      WWW: http://www.geocities.com/SiliconValley/Way/9657
--- [ IS MicroLife Creative Group ]
---------------
* Origin: Deep Depression (2:461/11)

SOURCE: echomail via exec-pc

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.