public static IEnumerable <OdbcProperties> getODBCList(RegistryKey rootKey) { RegistryKey regKey = rootKey.OpenSubKey(@"Software\ODBC\ODBC.INI\ODBC Data Sources"); if (regKey != null) { foreach (string name in regKey.GetValueNames()) { OdbcProperties vOdbcProperties = new OdbcProperties(); vOdbcProperties.OdbcName = regKey.GetValue(name, "").ToString(); if (vOdbcProperties.OdbcName.Contains("Microsoft ") == false) { try { vOdbcProperties.OdbcName = name; RegistryKey vCurrRegKey = rootKey.OpenSubKey(@"Software\ODBC\ODBC.INI\" + name); vOdbcProperties.Database = in2SqlRegistry.getLocalRegValue(vCurrRegKey, "Database"); vOdbcProperties.Description = in2SqlRegistry.getLocalRegValue(vCurrRegKey, "Description"); vOdbcProperties.Driver = in2SqlRegistry.getLocalRegValue(vCurrRegKey, "Driver"); vOdbcProperties.LastUser = in2SqlRegistry.getLocalRegValue(vCurrRegKey, "LastUser"); vOdbcProperties.Server = in2SqlRegistry.getLocalRegValue(vCurrRegKey, "Server"); vOdbcProperties.ConnStatus = 0; vCurrRegKey = Registry.CurrentUser.OpenSubKey(@"Software\in2sql"); vOdbcProperties.Login = in2SqlRegistry.getLocalRegValue(vCurrRegKey, name + '.' + "Login"); vOdbcProperties.Password = in2SqlRegistry.getLocalRegValue(vCurrRegKey, name + '.' + "Password"); } catch (Exception e) { In2SqlSvcTool.ExpHandler(e, "ODBCList"); } yield return(vOdbcProperties); } } } }
public static void ChangeOdbcValue(String vOdbcName, OdbcProperties vNewOdbcValue) { try { int vOdbcIndex = In2SqlSvcODBC.vODBCList.FindIndex(item => item.OdbcName == vOdbcName); vODBCList[vOdbcIndex] = vNewOdbcValue; } catch (Exception e) { In2SqlSvcTool.ExpHandler(e, "ChangeOdbcValue"); } }