VB & MS SQL Server

Posted on 2002-03-05
Last Modified: 2010-05-02

i am using VB as client.& SQL server as DB.
when i try to store this text "khdfkhsdkfh'sdfsdf'" in a varchar field i hit error "incorrect syntax near'sdfsdf'"

its bcos the single quote. but i need to store this value.
is it bcos the datatype is varchar???

Question by:chandua
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
LVL 70

Expert Comment

by:Éric Moreau
ID: 6843378
no it is because it includes a quote. you need to do something like:
strV = "khdfkhsdkfh'sdfsdf'"
sql = "insert into t1(field1) values('" & replace(strv,"'","''") & "')"
LVL 70

Expert Comment

by:Éric Moreau
ID: 6843388
and please maintain your other question:

Questions Asked 45
Last 10 Grades Given A A A A A B A A A B  
Question Grading Record 22 Answers Graded / 22 Answers Received

Accepted Solution

lmanapure earned 15 total points
ID: 6843426

The problem is because of the ' character in your string.

It happens once in a while that the application users enter a string with a ' character.

You can use the following function in your applications to get a valid SQL string.

Private Function GetValidSQLString(ByVal SourceString As Variant) As String
    If IsNull(SourceString) Then
        GetValidSQLString = ""
        GetValidSQLString = "'" & Replace(SourceString, "'", "''", , , vbTextCompare) & "'"
    End If
End Function

A way to call this function may be:
str = "khdfkhsdkfh'sdfsdf'"
str = GetValidSQLString(str)
This will set str value equal to 'khdfkhsdkfh''sdfsdf'''
and the expression will become:

Insert Into Table(columnname) Values('khdfkhsdkfh''sdfsdf''')
Use it like this
sSQL = "Insert Into TableName(ColumnName)"
sSQL = sSQL & "Values(" & GetValidSQLString(str) & ")"

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Expert Comment

ID: 6861569
47 questions asked, only 22 closed.... ADMINISTRATION WILL BE CONTACTING YOU SHORTLY.
This question appears to have been abandoned. Your options are:
1. Accept a Comment As Answer (use the button next to the Expert's name).
2. Close the question if the information was not useful to you. You must tell the participants why you wish to do this, and allow for Expert response.
3. Ask Community Support to help split points between participating experts, or just comment here with details and we'll respond with the process.
4. Delete the question. Again, you must tell the other participants why you wish to do this.

For special handling needs, please post a zero point question in the link below, include the question QID/link.
Please click this Help Desk link for Member Guidelines, Member Agreement and the Question/Answer process:  Click you Member Profile to view your question history and keep them all current with updates as the collaboration effort continues.

To view your open questions, please click the following link(s) and update/finalize them all.

------------>  EXPERTS:  Please leave any comments regarding this question here on closing recommendations if this item remains inactive another three days.
Thank you everyone.
Moderator @ Experts Exchange

P.S.  For year 2000 questions, special attention is needed to ensure the first correct response is awarded, since they are not in the comment date order, but rather in Member ID order.
LVL 70

Expert Comment

by:Éric Moreau
ID: 6861631
points are going to me. I have answered first.

Expert Comment

ID: 6866965
Points for emoreau  this TA 20277209

It was the Asker who chose and graded/closed this.  Fixed in the above, please comment.

Moondancer - EE Moderator

Featured Post

PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

Question has a verified solution.

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

If you have ever used Microsoft Word then you know that it has a good spell checker and it may have occurred to you that the ability to check spelling might be a nice piece of functionality to add to certain applications of yours. Well the code that…
I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

738 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