Fernando Diaz Master


Registrado: 18 Jul 2004Mensajes: 273Ubicación: Talavera de la Reina (Toledo)
|
Publicado: Jue 21 Abr, 2005 7:54 pm Asunto: MySQL CREAR,BORRAR,COMPROBAR ALIAS, Y ODBC |
|
|
PARA QUE NO SEAN PARA UNA DLL SOLO QUITAR PUBLIC
| Código: |
PUBLIC bool TieneMyODBC2x()
{
char SysDir[144];
GetSystemDirectory(SysDir, sizeof(SysDir));
return FileExists(AnsiString(SysDir)+"\\myodbc.dll");
}
|
| Código: |
PUBLIC bool TieneMyODBC3x()
{
char SysDir[144];
GetSystemDirectory(SysDir, sizeof(SysDir));
return FileExists(AnsiString(SysDir)+"\\myodbc3.dll");
}
|
| Código: |
PUBLIC bool ExisteAlias(AnsiString alias)
{
char SysDir[144];
GetSystemDirectory(SysDir, sizeof(SysDir));
TRegistry *Registry = new TRegistry;
Registry->RootKey = HKEY_CURRENT_USER;
if (Registry->OpenKey("\\Software\\ODBC\\ODBC.INI\\"+alias,false)==true)
{
Registry->CloseKey();
Registry->OpenKey("\\Software\\ODBC\\ODBC.INI\\ODBC Data Sources", false);
if(Registry->ReadString(alias)!="")
{Registry->CloseKey();delete Registry;return true;}
}
Registry->CloseKey();
delete Registry;
return false;
}
|
| Código: |
PUBLIC bool CrearAliasMySQL(AnsiString alias, AnsiString database,AnsiString server,AnsiString user,AnsiString pasv,AnsiString puerto)
{
char SysDir[144];
GetWindowsDirectory(SysDir, sizeof(SysDir));
TRegistry *Registry = new TRegistry;
Registry->RootKey = HKEY_CURRENT_USER;
if (TieneMyODBC2x()&&!TieneMyODBC3x())
{
Registry->OpenKey("\\Software\\ODBC\\ODBC.INI\\"+alias,true);
Registry->WriteString("Database",database);
Registry->WriteString("Description","");
Registry->WriteString("Driver",AnsiString(SysDir)+"\\myodbc.dll");
Registry->WriteString("Option","2579");
Registry->WriteString("Password",pasv);
Registry->WriteString("Server",server);
Registry->WriteString("User",user);
Registry->WriteString("Stmt","");
Registry->WriteString("Port",puerto);
Registry->CloseKey();
Registry->OpenKey("\\Software\\ODBC\\ODBC.INI\\ODBC Data Sources", true);
Registry->WriteString(alias,"MySQL");
Registry->CloseKey();
delete Registry;
return true;
}
if (TieneMyODBC3x())
{
Registry->OpenKey("\\Software\\ODBC\\ODBC.INI\\"+alias,true);
Registry->WriteString("Database",database);
Registry->WriteString("Description"," ");
Registry->WriteString("Driver",AnsiString(SysDir)+"\\myodbc3.dll");
Registry->WriteString("PWD",pasv);
Registry->WriteString("Server",server);
Registry->WriteString("User",user);
Registry->CloseKey();
Registry->OpenKey("\\Software\\ODBC\\ODBC.INI\\ODBC Data Sources", true);
Registry->WriteString(alias,"MySQL ODBC 3.51 Driver");
Registry->CloseKey();
delete Registry;
return true;
}
Registry->CloseKey();
delete Registry;
return false;
}
|
| Código: |
PUBLIC bool BorrarAlias(AnsiString alias)
{
TRegistry *Registry = new TRegistry;
Registry->RootKey = HKEY_CURRENT_USER;
if(Registry->DeleteKey("\\Software\\ODBC\\ODBC.INI\\"+alias))
{
Registry->CloseKey();
Registry->OpenKey("\\Software\\ODBC\\ODBC.INI\\ODBC Data Sources", true);
if(Registry->DeleteValue(alias))
{Registry->CloseKey(); delete Registry; return true;}
}
Registry->CloseKey();
delete Registry;
return false;
}
|
_________________ Los problemas mas dificiles tienen las soluciones mas sencillas
 |
|