String Problems

I have a windows service that runs queries on a database using OleDb. I prepare a sql command and then execute the command. Every so often, the program will start cutting off the sql commands. A command such as "Select * from tbCustomers;" might get cut off to "Select * from tbCust". The sql execution fails and all subsequent attempts to run any sql commands also fail. The program then needs to be shut down and restarted.

So I switched to using System.Text.StringBuilder, but the same problems occurs.

Any ideas as to why this may be occurring? Any help would be greatly appreciated.

Troy
LVL 2
tdyck12345Asked:
Who is Participating?
 
PashaModConnect With a Mentor Commented:
Closed, 500 points refunded.
PashaMod
Community Support Moderator
0
 
tdyck12345Author Commented:
Just to clarify, my sql command is a string and not an oledbcommand.

ie.

Dim sqlCommand as string = "Select * from tbCustomers;"
0
 
planoczCommented:
Have you tried this...

Dim sqlCommand as string = "Select * from tbCustomers"
0
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

 
tdyck12345Author Commented:
No I have not tried that. Do you think the semi-colon is the problem?

0
 
bramsquadCommented:
i doubt the semicolon is the reason the string is concatinating.

this problem is very strange.

i would step through your program, keep your eye on that variable and check to see when it concatinates.  another thing to check for, is it always a certain number of characters?  there might be a missed Mid() call or something along those lines.

~b

0
 
tdyck12345Author Commented:
When the error occurs an exception is thrown. I catch the exception and at that point I am able to step through the code. I can see what is being assigned, but what the actual value of the string is concatenated. It is just a simple string assignment like this:

Dim sqlCommand as string = "Select * from tbCustomers;"

or

Dim sqlCommand as string = "Select * from tbCustomers where Cust_ID=" & Customer_ID & ";"

Troy
0
 
DotNetLover_BaanCommented:
This is really strange. Never heard of it. I doubt there is somethingelse causing it. Are you changing the SQL query somewhere ? Are you generating it dynamically, depending on some conditions ?
-Baan
0
 
tdyck12345Author Commented:
I am not changing the sql anywhere. The sql string is generated dynamically in that the variables passed to it change. But what I am doing is really quite a simple string assignment.

Is there anything i could be doing wrong elsewhere in the program with threads or something that would cause the program to behave unpredictably? Could it have to do with MTAThread vs STAThread?

Troy
0
 
tdyck12345Author Commented:
After posting that last comment I found this site

http://sourceforge.net/mailarchive/forum.php?forum_id=29502&max_rows=25&style=nested&viewmonth=200312

and in it they claim that in their case there was a problem with using STAThreads over MTAThreads. I have some code that handles COM Port communications and it's apartment state was set to STAThread. While the rest of the program was set to MTA. I am going to make everything MTA, test it out and see what happens. I will let you know how it goes.

If anybody has any thoughts in the meantime, please let me know.

Troy
0
 
tdyck12345Author Commented:
My changes did not help.

Another thing that might help is that this problem is much more likely to occur while I am in the debugger.

Troy
0
 
tdyck12345Author Commented:
The problem turned out to be that I had a MS Access Database compiled into my application as an embedded resource. This was causing memory corruption and causing my application to perform unpredictably.

I have removed the resource and now everything works fine.

Troy
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.