Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 5 of 5 total
Thread locate function fails
Wed, Jun 9 2010 6:49 AMPermanent Link

Ronald

Hi,

I have a simple table (DBISam V4.29 Build 3, Delphi 2009) in a webbroker
application. The locate function does not work correctly.

If I use tbTeachers.Locate('no',CurrentTeacherNo,[]) it does not find
anything. (CurrentTeacherNo is a string with a number). If I try the same
table and function in a desktop application, it works fine. If I use
loPartialKey then it works too.

My collegue has the same problem (another table, another application). We
tried the function in the webbroker application on IIS6 and and on a local
webserver with IIS7, but the result is the same.

The structure of the table is very simple and only 4 records are filled now:

1 No AutoInc
2 Naam String 60
3 StamNummer String 15
4 BSN String 15
5 SchoolNo Integer

I have the standard index on RecordID and an index on SchoolNo

What is going wrong here?

Greetings,
Ronald



Attachments: teachers.zip
Wed, Jun 9 2010 1:46 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Ronald,

<< If I use tbTeachers.Locate('no',CurrentTeacherNo,[]) it does not find
anything. (CurrentTeacherNo is a string with a number). If I try the same
table and function in a desktop application, it works fine. If I use
loPartialKey then it works too. >>

There must be something different between the two applications that is
causing this behavior.  Are you sure that the code is *exactly* the same in
both cases ?

Is your WebBroker application an ISAPI dll ?  If so, are you isolating the
web module with its own session, database, table, etc. components, per the
multi-threading guidelines ?

http://www.elevatesoft.com/manual?action=viewtopic&id=dbisam4&product=d&version=7&topic=Multi_Threaded_Applications

(under ISAPI applications).

--
Tim Young
Elevate Software
www.elevatesoft.com
Wed, Jun 9 2010 3:27 PMPermanent Link

Ronald

"Tim Young [Elevate Software]" wrote:

Ronald,

<< If I use tbTeachers.Locate('no',CurrentTeacherNo,[]) it does not find
anything. (CurrentTeacherNo is a string with a number). If I try the same
table and function in a desktop application, it works fine. If I use
loPartialKey then it works too. >>

There must be something different between the two applications that is
causing this behavior.  Are you sure that the code is *exactly* the same in
both cases ?

Is your WebBroker application an ISAPI dll ?  If so, are you isolating the
web module with its own session, database, table, etc. components, per the
multi-threading guidelines ?

http://www.elevatesoft.com/manual?action=viewtopic&id=dbisam4&product=d&version=7&topic=Multi_Threaded_Applications

(under ISAPI applications).

--
Tim Young
Elevate Software
www.elevatesoft.com


Hi Tim,

It is not an ISAPI DLL, but a cgi executable. The routine is nothing more
then open, locate and close. My collegue has exactly the same problem. Also
in a very simple routine.

Ronald
Thu, Jun 10 2010 5:47 AMPermanent Link

Ronald

Hi Tim,

We solved it. My collegue  deleted the TDBISamTable component and placed a
new one. Then it worked correctly. I think it has to do with the conversion
of his application from Delphi 7.0 to Delphi 2009.
In my case.... I just made a stupid programming mistake. I thought I
recognized the same problem that my collegue had so I looked in the wrong
corner for the solution.

Thanks.

Ronald

"Ronald van der Pas" schreef in bericht
news:1A0EDCF6-77C1-4D20-9838-E0EA637FE3B9@news.elevatesoft.com...
> "Tim Young [Elevate Software]" wrote:
>
> Ronald,
>
> << If I use tbTeachers.Locate('no',CurrentTeacherNo,[]) it does not find
> anything. (CurrentTeacherNo is a string with a number). If I try the same
> table and function in a desktop application, it works fine. If I use
> loPartialKey then it works too. >>
>
> There must be something different between the two applications that is
> causing this behavior.  Are you sure that the code is *exactly* the same
> in
> both cases ?
>
> Is your WebBroker application an ISAPI dll ?  If so, are you isolating the
> web module with its own session, database, table, etc. components, per the
> multi-threading guidelines ?
>
> http://www.elevatesoft.com/manual?action=viewtopic&id=dbisam4&product=d&version=7&topic=Multi_Threaded_Applications
>
> (under ISAPI applications).
>
> --
> Tim Young
> Elevate Software
> www.elevatesoft.com
>
>
> Hi Tim,
>
> It is not an ISAPI DLL, but a cgi executable. The routine is nothing more
> then open, locate and close. My collegue has exactly the same problem.
> Also
> in a very simple routine.
>
> Ronald
>
Thu, Jun 10 2010 1:14 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Ronald,

<< We solved it. My collegue  deleted the TDBISamTable component and placed
a new one. Then it worked correctly. I think it has to do with the
conversion of his application from Delphi 7.0 to Delphi 2009. In my case....
I just made a stupid programming mistake. I thought I recognized the same
problem that my collegue had so I looked in the wrong corner for the
solution. >>

Thanks for the update.

--
Tim Young
Elevate Software
www.elevatesoft.com
Image