Re: SQL string problem
From: TLowe (noelbisspam_at_nomindspringspam.com)
Date: 05/12/04
- Next message: Don Guillett: "Re: vba code wanted"
- Previous message: Harald Staff: "Re: vba code wanted"
- In reply to: Jake Marx: "Re: SQL string problem"
- Next in thread: Jake Marx: "Re: SQL string problem"
- Reply: Jake Marx: "Re: SQL string problem"
- Messages sorted by: [ date ] [ thread ]
Date: Wed, 12 May 2004 17:06:15 -0500
Thanks Jake
That is an excellent function to use to clean up data. I was looking for
something like that to clean up some of the data passed to SQL. I dont
think that the source of this problem is the quotes. This is just cutting
off data like their is some kind of limit to the size. I will keep looking
and see if I can find anything that might shed some light on the issue.
"Jake Marx" <msnews@longhead.com> wrote in message
news:OXwEuoFOEHA.2480@tk2msftngp13.phx.gbl...
Hi TLowe,
You must "escape" any single quotes when sending SQL statements directly to
SQL Server via ADO. By that, I mean that you must add another single quote
immediately after any existing single quotes in your SQL statement.
Typically, I use a simple function to accomplish this:
Public Function gsMakeStringSQLSafe(rsSQL As String) As String
gsMakeStringSQLSafe=Replace$(rsSQL, "'", "''")
End Function
Just pass your SQL statement through this function when opening your
recordset:
rs.Open gsMakeStringSQLSafe(strSQL), cnnStoredProc, _
adUseClient, adLockReadOnly
Hopefully, this will fix your problem.
-- Regards, Jake Marx MS MVP - Excel www.longhead.com [please keep replies in the newsgroup - email address unmonitored] TLowe wrote: > Hello all! > I am using an ADO recordset to import data into Excel 2000 from a Win > 2003/SQL Server2000 setup. My problem is the SQL string is getting > truncated and is not passed to SQL server 2000 in a complete form. > Its cut off. It appears to cutoff around 185 characters. Is this a > setting that can be reset? Is this an ADO Property that should be > set to allow a bigger SQL statement to be passed to SQL server. Its > really weird that it only takes so many characters, truncates the > balance of the statement and then still tacks the double quotes at > the end of the statement? The > > Here is the ADO recordset : > rs.Open strSQL, cnnStoredProc, adUseClient, adLockReadOnly > > Here is the full SQL statement that is assigned to the strSQL > variable that is initially stored in the variable strSQL. This > statement runs in the SQL analyzer with no problems (variables x, and > y with actual values). > > SELECT [description],count(t2.Result) as total,t2.Result,t2.Vendor, > t1.[date]from Tblquestions t1 inner join TblResultsQuestion t2 on > T1.[id] = T2.QuestionID where T1.type = 4 and vendor like '" & x & "' > and [description] like '" & y & "' group by [description],Vendor, > [date], result order by [description],Result desc > > Here is the actual statement that gets put into the strSQL variable > when passed via the above rs.open statement. > > strSQL : "SELECT [description],count(t2.Result) as total,t2.Result, > t2.Vendor, t1.[date] from Tblquestions t1 inner join > TblResultsQuestion t2 on T1.[id] = T2.QuestionID where t1.type = 4 > and ve"
- Next message: Don Guillett: "Re: vba code wanted"
- Previous message: Harald Staff: "Re: vba code wanted"
- In reply to: Jake Marx: "Re: SQL string problem"
- Next in thread: Jake Marx: "Re: SQL string problem"
- Reply: Jake Marx: "Re: SQL string problem"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|