Solved

String Problems

Posted on 2004-10-15
12
188 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
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
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
 
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

Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It’s quite interesting for me as I worked with Excel using vb.net for some time. Here are some topics which I know want to share with others whom this might help. First of all if you are working with Excel then you need to Download the Following …
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

810 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