ThinkGeo.com    |     Documentation    |     Premium Support

Could not lock table error when using QueryTools.ExecuteQuery

James, 
  
 Thank you. I am using Windows 7 Professional English 32-bit on a domain. I have local admin rights and have turned UAC all the way down. I also checked my Microsoft Jet 4.0 version after seeing the XP 64bit error. My msjet40.dll is version 4.0.9756.0. My msjetoledb40.dll is also version 4.0.9756.0. I don’t know if that is different than what you have. Please let me know if there is anything else I can do to help. 
  
 Thanks, 
 David

 


David,


I have updated my sample, could you test it again and let me know if it throws exception still or not?


This sample lack of something, such as referred DLLs, shape files, so when you try to run it, you need to change the project setting and some code. Please write them on a list that show which thing you did change, that's important for us test the problem.


If it throws exception still, please take screen-shot at that moment and write down the stack-trace send to us.


That's what I am think about how to solve your problem, if you have better idea please let me know, I will response you if you have any reasonable request.


Thanks


James



1717-QueryToolsTest_Showing_Error2.zip (11.7 KB)

James,


I have updated your code with comments. Your code executed fine on my machine - great! I did find something that I think gives more direction in the issue.


If I execute your code it works fine. If I place the same queries in a separate method on a click event, it still works fine IF I run the code in the load as well. What I found is that if I execute an open and close on the load event, I can run my queries in the separate method without a problem. I do not know what it is about the open/close process that allows the query to run in the other method, but it works.


Thanks,


David



1723-QueryToolsTest_Showing_Error2-Updated.zip (31 KB)

David, 
  
 From your updated sample, I got that if you call Open and Close before QueryTools, it works properly, right? So how about if only call Close, not call Open, is it still working? If the answer is yes, I think maybe you can write code like that, at least it’s a workaround. 
  
 I will do more testing to figure out what happen with your case. 
  
 If you got something I will let you know 
  
 Thanks 
  
 James

James, 
  
 If I call the Close only it still works. I will use this workaround for now. 
  
 Thanks for your help! 
 David

David, 
  
 Thanks for your sharing and letting us know your status. 
  
 Any more questions just feel free to let me know. 
  
 Thanks. 
  
 Yale