Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » DBISAM Technical Support » Support Forums » DBISAM General » View Thread |
Messages 1 to 5 of 5 total |
locate function fails |
Wed, Jun 9 2010 6:49 AM | Permanent 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 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. 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 PM | Permanent 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 AM | Permanent 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 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. 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 |
This web page was last updated on Tuesday, May 7, 2024 at 06:25 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |