LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 41
Default An MD5 Hash with a single quote = grief in SQL query

(cross posted on microsoft.public.access.modulesdaovba)

I am still dumbfounded, but happier.

I tried using an ADO recordset to do the check the Hash. It worked.
One of the possibilities is there is a bug in the DAO 3.6 library.

I am using libraries VBA, Excel 11.0, Office 11.0, Forms 2.0, Access 11.0,
DAO 3.6, ADO Ext. 2.7,
and ActiveX Data Objects 2.7 defined in that order.

I am willing to close the thread, but I'll be glad to discuss anything I
might have done wrong .
Stephen Rasey
WiserWays, LLC
Houston
http://excelsig.org

Sub TestH70Ado()
H02_Define_H_Recordsets
Dim strH As String
Dim ID As Long

ID = H70Check("$¥¨3¶¯ô¼.Ë©£F³Ñ") 'Answer is -1915054114 works
ID = H70CheckADO("$¥¨3¶¯ô¼.Ë©£F³Ñ") 'Answer is -1915054114 works
ID = H70Check("-s3ë=*'[+@û;ÒëN") 'Answer is supposed to be
1106461086, returns 0
ID = H70CheckADO("-s3ë=*'[+@û;ÒëN") 'Answer is 1106461086 works.
End Sub

Sub H02_Define_H_Recordsets
Set adoConn1 = Nothing
Set adorsH70 = Nothing
Set adoConn1 = New ADODB.Connection
Set adorsH70 = New ADODB.Recordset
adoConn1.Open "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & gstrDBFullPath

adorsH70.CursorLocation = adUseServer
adorsH70.Open "select * from H70HashProspSched", adoConn1,
adOpenDynamic, adLockReadOnly
end sub


Function H70CheckADO(strHash As String) As Long
'return the IDHashProspSched if the strHash is found in
H70HashProspSched
'return 0 if not found. Protect against 0 being a legitimate ID.
Dim sql As String
sql = "HASH = '" & wwQuoteFix(strHash) & "'" 'Rasey 040804 v24j
With adorsH70
.MoveFirst 'With ADO, to do a find first, you must do a
'MoveFirst, then Find.
.Find sql
If .EOF Then
H70CheckADO = 0
Else
H70CheckADO = !IDHashProspSched
End If
End With
End Function

Function H70Check(strHash As String) As Long
'return the IDHashProspSched if the strHash is found in
H70HashProspSched
'return 0 if not found. Protect against 0 being a legitimate ID.
'Bug of unknown cause: if strHash has a single quote, it fails to find
the record.
Dim sql As String
sql = "HASH = '" & wwQuoteFix(strHash) & "'" 'Rasey 040804 v24j
'sql = "HASH = '" & strHash & "'" 'Rasey 040804 v24j
With rsH70ProspSched
.MoveFirst 'Tried a .MoveFirst to see if that
would fix the DAO problem. It didn't.
.FindFirst sql
If .NoMatch Then
H70Check = 0
Else
H70Check = !IDHashProspSched
End If
End With

End Function

Function wwQuoteFix(str1 As String) As String
wwQuoteFix = Replace(str1, "'", "''")
End Function




 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
vlookup and using single quote Bishop Excel Worksheet Functions 2 April 3rd 09 06:02 PM
Annoying single quote with ever new workbook oldtimer Excel Discussion (Misc queries) 5 February 25th 07 09:05 PM
Remove single quote Avadivelan TCS Excel Worksheet Functions 4 October 5th 06 03:48 PM
Single quote in a where clause Poh[_2_] Excel Programming 0 July 9th 04 02:54 AM
Remove single quote, help needed! Sergei[_2_] Excel Programming 1 February 12th 04 05:42 PM


All times are GMT +1. The time now is 01:16 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"