Hello Steeve,
Can you post the code you used to test, as I found the following:
Using the next method: 2:27.002
Using the while method: 2:27.010
Using the query method: 5:04.052
The number of records in the table was: 59071
The code I used was:
static void Job231(Args _args)
{
Query Query;
QueryBuildDataSource qbds;
QueryRun QueryRun;
PCDrockfastTrxHeader PCDrockfastTrxHeader;
int i,st;
;
// Ensuring the creation of an execution plan
while
select PCDRockfastTrxHeader
{
i = 0;
}
st = winAPI::getTickCount();
select PCDrockfastTrxHeader;
while (PCDrockfastTrxHeader)
{
i = 0;
next PCdrockfastTrxHeader;
}
info("Next: " + Milliseconds2strhms(winAPI::getTickCount() - st));
st = winAPI::getTickCount();
while
select PCDrockfastTrxHeader
{
i = 0;
}
info("While: " + Milliseconds2strhms(winAPI::getTickCount() - st));
Query = new Query();
qbds = Query.addDataSource(TableNum(PCDRockfastTrxHeader));
QueryRun = new QueryRun(Query);
while (QueryRun.next()) {
i = 0;
}
info("Query: " + Milliseconds2strhms(winAPI::getTickCount() - st));
}
The following was placed in the global class.
static TempStr milliSeconds2StrHMS(int time)
{
int millisec;
;
millisec = time mod 3600 mod 60 mod 1000;
time = time div 1000;
return Time2strHMS(time) + "." + num2str0(millisec, 3,0,0,0);
}
Barry.
-----Original Message-----
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Steeve Gilbert
Sent: Thursday, 22 December 2005 12:03 AM
To: [email protected]
Subject: RE : RE : [development-axapta] Reset position in a tablebuffer
Sorry, I always tought "while select" was faster but just did a test and it doesn't seem so.
Steeve...
-----Message d'origine-----
De : [email protected] [mailto:[EMAIL PROTECTED] De la part de densop1
Envoyé : 21 décembre 2005 04:01
À : [email protected]
Objet : Re: RE : [development-axapta] Reset position in a tablebuffer
Yes "select ct" initialises the buffer again. But it doesn't matter
if you uses "while select" or "next".
Simon
--- In [email protected], "Steeve Gilbert"
<[EMAIL PROTECTED]> wrote:
>
> I would redo the "select ct;". But you should be doing that
instead :
>
> While select ct {
> info(ct.AccountNum);
> }
>
> Steeve...
>
>
> -----Message d'origine-----
> De : [email protected] [mailto:development-
[EMAIL PROTECTED] De la part de cdlmalherbe01
> Envoyé : 20 décembre 2005 06:02
> À : [email protected]
> Objet : [development-axapta] Reset position in a tablebuffer
>
> Hi all,
>
> An obvious question to the more experienced, but how does one
reset
> the cursor's position to the first record in a tablebuffer?
>
> Example
> ========
>
> CustTable ct;
>
> ;
>
> select ct;
>
> while (ct)
> {
> info(ct.AccountNum);
>
> next ct;
> }
>
> /*what call goes here to reset position of the cursor to the first
> record in the table buffer?*/
>
> while (ct)
> {
> info(ct.Name);
>
> next ct;
> }
>
> Kind regards,
>
> Christoph
>
>
>
>
>
>
>
>
>
> Yahoo! Groups Links
>
Yahoo! Groups Links
Yahoo! Groups Links
SPONSORED LINKS
| Computer part | Programming languages | Microsoft axapta |
| Support exchange |
YAHOO! GROUPS LINKS
- Visit your group "development-axapta" on the web.
- To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
- Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.

