как дела?
У меня проблема с загрузкой данных из БД (строка подключения хорошая, так как я могу вставить данные в БД) в мою таблицу данных.
мой запрос также работает нормально, когда я выполняю его в Sql management studio, я получил 15 записей ... поэтому после некоторого одиночного поиска и попыток я пришел к вам.
Вот код моей функции, которая должна получить значение из БД.
Код останавливается на «dt.Load (sqlCommand.ExecuteReader ());» где, кажется, поиск, но я получаю через несколько секунд, исключение тайм-аут А я как я
public List<string> GetConfigurationValues(string configurationKey, int? idBusinessUnit, int? idDomain)
{
string conn = ConnectionStringHelper.GetIdentityConnectionString();
List<string> conf = new List<string>();
using (SqlConnection dbConnection = new SqlConnection(conn))
{
dbConnection.Open();
SqlCommand sqlCommand = new SqlCommand(@"
SELECT Value
FROM ConfigurationValue cv
INNER JOIN ConfigurationFilter cf ON cv.idConfigurationValue = cf.idConfigurationValue
INNER JOIN ConfigurationKey ck ON ck.idConfigurationKey = cf.idConfigurationKey
WHERE ck.KeyName = @ConfigurationKey
AND((cf.idDomain = @idDomain) OR(cf.idDomain IS NULL))
AND((cf.idBusinessUnit = @idBusinessUnit) OR(cf.idBusinessUnit IS NULL))", dbConnection);
sqlCommand.CommandType = System.Data.CommandType.Text;
sqlCommand.Parameters.Add(new SqlParameter("@ConfigurationKey", "PORTAL_THEME"));
if (idBusinessUnit == null)
sqlCommand.Parameters.Add(new SqlParameter("@idBusinessUnit", null)); //DBNull.Value
else
sqlCommand.Parameters.Add(new SqlParameter("@idBusinessUnit", null));
if (idDomain == null)
sqlCommand.Parameters.Add(new SqlParameter("@idDomain", null));// DBNull.Value
else
sqlCommand.Parameters.Add(new SqlParameter("@idDomain", 281));
DataTable dt = new DataTable();
dt.Load(sqlCommand.ExecuteReader());
//dbConnection.Close();
if (dt != null)
if (dt.Rows.Count > 0)
foreach (DataRow dr in dt.Rows)
conf.Add(Convert.ToString(dr["Value"]));
}
return conf;
}