Einzelnen Beitrag anzeigen

neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#4

Re: ODBC Schnittstellen und Datenbanken-Namen auslesen???

  Alt 11. Sep 2003, 08:20
Delphi-Quellcode:
// Dieses Procedure ist gehört zu einem Enviroment-Object
procedure TSQLEnviroment.EnumDataSources(afTyp: TDSNTypes; apEnumProc : TDSNEnumProc; apData : Pointer);
// afTyp: gibt an welche DSN's man sehen will
// apEnumProc: ist eine CallBack-Funktion
// apData: Platzhalter für Parameter an die CallBack
const
  ciFirstFetch : array [TDSNTypes] of SQLUSMALLINT =
    (SQL_FETCH_FIRST, // System und User
     SQL_FETCH_FIRST_SYSTEM, SQL_FETCH_FIRST_USER);

var cDSN : array [0..SQL_MAX_DSN_LENGTH] of Char;
    cDriver : array [0..1023] of Char;
    iLenDSN,
    iLenDriver : SQLSMALLINT;
begin
  // SQLCheck prüft auf Fehler, hab ich selbst geschrieben
  // function SQLCheck(hr : SQLRESULT) : SQLRESULT;
  // gibt Exception mit ODBC-Error zurück falls ein Fehler auftrat
  // SQLDataSources ist eine ODBC-Funktion
  if SQLCheck(SQLDataSources(hHandle, ciFirstFetch[afTyp],
       @cDSN, SQL_MAX_DSN_LENGTH + 1, iLenDSN,
       @cDriver, 1024, iLenDriver)) <> SQL_NO_DATA then // erster Eintrag
     repeat
       apEnumProc(cDSN, cDriver, apData); // übergebe an Callback
     until SQLCheck(SQLDataSources(hHandle, SQL_FETCH_NEXT,
       @cDSN, SQL_MAX_DSN_LENGTH + 1, iLenDSN,
       @cDriver, 1024, iLenDriver)) = SQL_NO_DATA; // alle weiteren
end;
Sag was genau jetzt noch unklar ist...
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat