Check whether an ODBC entry exists: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
m (Wikipedia python library)
 
(SF: wether -> whether.)
Line 2: Line 2:
<highlight-nsis>
<highlight-nsis>
;
;
; Check wether an ODBC entry exists or not
; Check whether an ODBC entry exists or not
;
;
;  Input: Name of the ODBC entry
;  Input: Name of the ODBC entry

Revision as of 14:31, 17 April 2005

The Function

;
; Check whether an ODBC entry exists or not
;
;  Input: Name of the ODBC entry
; Output: TRUE, FALSE
;
; Usage
;
;    Push "MyODBCEntry"
;    Call ODBCEntryExists
;    Pop "$1"
;    MessageBox MB_OK|MB_ICONINFORMATION "ODBC entry 'MyODBCEntry' exists: $1"
;
 
!macro ODBCEntryExistsMacro
 
  ; Clear all errors at the beginning
  ClearErrors
  ; Pop the name of the ODBC entry from the stack
  Exch $R0
 
  IfErrors InvalidParameter CheckODBCEntry
  InvalidParameter:
    MessageBox MB_OK|MB_ICONEXCLAMATION "ODBCEntryExists: Please push the name of the ODBC entry first."
    StrCpy $R0 "FALSE"
    Goto Done
  CheckODBCEntry:
    ClearErrors
    ReadRegStr $R0 HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources" "$R0"
    IfErrors NotFound Found
    NotFound:
      StrCpy $R0 "FALSE"
      Goto Done
    Found:
      StrCpy $R0 "TRUE"
      Goto Done
  Done:
 
  Exch $R0
 
!macroend
 
Function ODBCEntryExists
  !insertmacro ODBCEntryExistsMacro
FunctionEnd
 
Function un.ODBCEntryExists
  !insertmacro ODBCEntryExistsMacro
FunctionEnd

Page author: preisl