Solved

String Problems

Posted on 2004-10-15
12
186 Views
Last Modified: 2010-04-23
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
0
Comment
Question by:tdyck12345
12 Comments
 
LVL 2

Author Comment

by:tdyck12345
ID: 12321433
Just to clarify, my sql command is a string and not an oledbcommand.

ie.

Dim sqlCommand as string = "Select * from tbCustomers;"
0
 
LVL 27

Expert Comment

by:planocz
ID: 12321615
Have you tried this...

Dim sqlCommand as string = "Select * from tbCustomers"
0
 
LVL 2

Author Comment

by:tdyck12345
ID: 12321726
No I have not tried that. Do you think the semi-colon is the problem?

0
 
LVL 8

Expert Comment

by:bramsquad
ID: 12321942
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
 
LVL 2

Author Comment

by:tdyck12345
ID: 12322291
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
Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

 
LVL 18

Expert Comment

by:DotNetLover_Baan
ID: 12322577
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
 
LVL 2

Author Comment

by:tdyck12345
ID: 12322718
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
 
LVL 2

Author Comment

by:tdyck12345
ID: 12323235
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
 
LVL 2

Author Comment

by:tdyck12345
ID: 12323541
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
 
LVL 2

Author Comment

by:tdyck12345
ID: 12427023
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
 

Accepted Solution

by:
PashaMod earned 0 total points
ID: 12464623
Closed, 500 points refunded.
PashaMod
Community Support Moderator
0

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

If you're writing a .NET application to connect to an Access .mdb database and use pre-existing queries that require parameters, you've come to the right place! Let's say the pre-existing query(qryCust) in Access takes a Date as a parameter and l…
1.0 - Introduction Converting Visual Basic 6.0 (VB6) to Visual Basic 2008+ (VB.NET). If ever there was a subject full of murkiness and bad decisions, it is this one!   The first problem seems to be that people considering this task of converting…
It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages.
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now