Это трудно объяснить в названии.Я продолжаю цикл foreach, который устанавливает новую строку подключения для каждого целевого сервера и базы данных.Однако, когда цикл foreach возвращается, он устанавливает строку так, как задумано, однако SqlConnection продолжает смотреть на первую строку.
Ниже приведено то, что я использую для вызова соединения:
foreach (string DatabaseConfig in DataHoldingClass.Server_Database_Config)
{
string[] splitConfig = DatabaseConfig.Split('|');
//set sql connection config
DataHoldingClass.Database = splitConfig[0];
DataHoldingClass.SQLSERVER = splitConfig[1];
//open specific config
SQLProcessorClass.SQLMASTERCONNECTION = SQLProcessorClass.OpenSQLConnection();
//do some work here
SQLProcessorClass.SQLMASTERCONNECTION.Dispose();
}
Ниже приведено то, что я использую для установки соединения:
public static string masterConString = "server="+DataHoldingClass.SQLSERVER+";database ="+DataHoldingClass.Database+";Trusted_Connection=Yes;persist security info=False;connection timeout=500";
public static SqlConnection SQLMASTERCONNECTION { get; set; }
public static SqlConnection OpenSQLConnection()
{
SqlConnection sqlCon = new SqlConnection(masterConString);
sqlCon.Open();
return sqlCon;
}
А ниже - DataHoldingClass
public static string Database { get; set; }
public static string SQLSERVER { get; set; }
, например, моя строка DatabaseConfig = "Database1 | Server1"и следующий цикл в DataHoldClass.Server_Database_Config - это «Database2 | Server2», когда цикл происходит во второй раз, когда он продолжает использовать «Database1 | Server1», даже если он находится во второй строке цикла.
Anyидеи?
О, я на самом деле не вызываю функцию Database
, хотя stackoverflow выделен синим цветом.