<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
Neven,<br><br>Thanks for the response.<br><br>Yes, it is also my understanding that the ADO implementation is just a wrapper (like a number of the Delphi components). I did research the cursor options and try those but without a lot of success, although I must confess that I never looked at the resolver methods. <br><br>I'm not sure whether it is authoritative or not, but I recently found an article that claimed there were numerous problems with TADOTable and advocated using TADOQuery and/or issuing raw SQL commands via the ADOCommand or ADODataset object. From memory that might have been the site : http://www.prestwoodboards.com.<br><br>As this stage I've simply removed the TADOTable components as it transpired that for this simple (two tables with no relationships) application I didn't need them.<br><br>One of the big issues is that I can't see any way of getting notifications that other users have changed data, short of just using a timer to regularly refresh the datasets - not really a good solution. Normally you just get a message when you try to modify a record. Its not a major issue for this project although on larger projects some years ago it resulted in some pain...<br><br><div><div id="SkyDrivePlaceholder"></div><hr id="stopSpelling">Date: Thu, 17 May 2012 07:44:44 +1200<br>From: neven@mwk.co.nz<br>To: delphi@listserver.123.net.nz<br>Subject: Re: [DUG] MSSQL DBGrid Refresh<br><br>
Eric<br>
<br>
Please forgive me if I'm not 100% with my terminology, its been
years since i did my last ADO project on MSSQL, As I recall ADO is a
thinly disguised wrapper around MSSQL cursors, so its not so much if
you use ADOTable or ADOQuery (both wrap the the ADO commandSet?
object) but there are a couple of properties which determine which
type of SQL cursor it uses (static, dynamic, fast forward), the
resolver method (timestamp, PK?) and the update (row or batch).<br>
<br>
In the end I was so frustrated with it I used kBMMemtable, kbm
Custom resolvers and relegated the ADO to executing fetch and
update queries!<br>
<br>
Its one on those situations where basically you *have* to understand
what it expects you to do because if you vary from its methodology
it is just painful<br>
<br>
HTH Neven<br>
<br>
On 16/05/2012 9:39 a.m., Eric A wrote:
<blockquote cite="mid:SNT128-W39812F80F77790E7E018729F1B0@phx.gbl">
<style><!--
.ExternalClass .ecxhmmessage P
{padding:0px;}
.ExternalClass body.ecxhmmessage
{font-size:10pt;font-family:Tahoma;}
--></style>
<div dir="ltr">
No, I've tried the Requery method and as I understand it the
Requery method is effectively doing the same as the Open and
Close sequence, i.e. forcing the select statement to be reissued
against the database.<br>
<br>
For record deletion I call the nbDelete button method on the
DBNavigator followed by closing/opening the ADOQuery and that
does result in the data being refreshed in the DGBrid. <br>
<br>
For adding and editing records I am using the ADOTable
"Append"/"Edit" and "Post" methods on the table followed by
closing/opening the ADOQuery (or ADOQuery.Requery) and for some
reason (which presently escapes me) the data is not refreshed in
the grid.<br>
<br>
The question is should I even be using the ADOTable and would I
better off just issuing raw SQL commands via the ADOCommand or
similar component?<br>
<br>
Eric<br>
<br>
<div>
<hr id="ecxstopSpelling">Date: Tue, 15 May 2012 21:09:31 +1200<br>
From: <a class="ecxmoz-txt-link-abbreviated" href="mailto:vikas.image@gmail.com">vikas.image@gmail.com</a><br>
To: <a class="ecxmoz-txt-link-abbreviated" href="mailto:delphi@listserver.123.net.nz">delphi@listserver.123.net.nz</a><br>
Subject: Re: [DUG] MSSQL DBGrid Refresh<br>
<br>
Hi Eric,
<div><br>
</div>
<div>With AdoQuery you can try Requery method.</div>
<div><br>
</div>
<div>This article might help.</div>
<div><a href="http://edn.embarcadero.com/article/23011" target="_blank">http://edn.embarcadero.com/article/23011</a>.</div>
<div><br>
</div>
<div>Hope it helps</div>
<div><br>
</div>
<div>Regards</div>
<div>Vik<br>
<br>
<div class="ecxgmail_quote">
On Tue, May 15, 2012 at 8:51 PM, Eric A <span dir="ltr"><<a href="mailto:eaa603@hotmail.com">eaa603@hotmail.com</a>></span>
wrote:<br>
<blockquote class="ecxgmail_quote" style="border-left:1px\00000d\00000a #ccc solid;padding-left:1ex">
<div>
<div dir="ltr">
I am using a DBGrid with an ADOQuery component for
display, with modifications to table data (edits,
deletes, adds) being done using a ADOTable
component. CRUD operations are done using the table
methods rather than raw SQL code. There's a lot of
fields in the database table so coding the
operations in SQL would be a pain.<br>
<br>
Despite trying to refresh the data in the DBGrid by
closing then re-opening both the ADOTable and the
ADOQuery component the data in the DBGrid is not
updated (unless I exit the application and restart.<br>
<br>
I've seen this problem mentioned in various postings
but haven't yet seen a solution. Can someone supply
the elusive technique to get the DBGrid data to
refresh after the ADOTable data is changed? <br>
<span><font color="#888888"><br>
Eric.<br>
</font></span></div>
</div>
<br>
_______________________________________________<br>
NZ Borland Developers Group - Delphi mailing list<br>
Post: <a href="mailto:delphi@listserver.123.net.nz">delphi@listserver.123.net.nz</a><br>
Admin: <a href="http://delphi.org.nz/mailman/listinfo/delphi" target="_blank">http://delphi.org.nz/mailman/listinfo/delphi</a><br>
Unsubscribe: send an email to <a href="mailto:delphi-request@listserver.123.net.nz">delphi-request@listserver.123.net.nz</a>
with Subject: unsubscribe<br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
vikas<br>
</div>
<br>
_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: <a class="ecxmoz-txt-link-abbreviated" href="mailto:delphi@listserver.123.net.nz">delphi@listserver.123.net.nz</a>
Admin: <a class="ecxmoz-txt-link-freetext" href="http://delphi.org.nz/mailman/listinfo/delphi" target="_blank">http://delphi.org.nz/mailman/listinfo/delphi</a>
Unsubscribe: send an email to
<a class="ecxmoz-txt-link-abbreviated" href="mailto:delphi-request@listserver.123.net.nz">delphi-request@listserver.123.net.nz</a> with Subject: unsubscribe</div>
</div>
<br>
<fieldset class="ecxmimeAttachmentHeader"></fieldset>
<br>
<pre>_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: <a class="ecxmoz-txt-link-abbreviated" href="mailto:delphi@listserver.123.net.nz">delphi@listserver.123.net.nz</a>
Admin: <a class="ecxmoz-txt-link-freetext" href="http://delphi.org.nz/mailman/listinfo/delphi" target="_blank">http://delphi.org.nz/mailman/listinfo/delphi</a>
Unsubscribe: send an email to <a class="ecxmoz-txt-link-abbreviated" href="mailto:delphi-request@listserver.123.net.nz">delphi-request@listserver.123.net.nz</a> with Subject: unsubscribe</pre>
</blockquote>
<br>
<br>_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: delphi@listserver.123.net.nz
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to delphi-request@listserver.123.net.nz with Subject: unsubscribe</div>                                            </div></body>
</html>