Я работаю над приложением, которое открывает соединение с базой данных и извлекает из него данные для показа пользователю. Все выглядит хорошо в коде того, что я вижу, но что-то не так, потому что исключение выдается в методе ниже. Я установил точку останова на "conn.Open ();" и это там исключение.
Я понятия не имею, как выяснить, что на самом деле является ошибкой и как ее исправить, и надеюсь получить здесь некоторую помощь. Трассировку стека для исключения можно найти здесь , если это поможет.
Исключение: System.ApplicationException: ошибка в приложении
Заранее спасибо!
метод, который выдает исключение:
public List<Movie> GetMovies() {
var movieTitles = new List<Movie>(100);
using (var conn = CreateConnection()) {
try {
var cmd = new SqlCommand("dbo.usp_GetMovies", conn);
cmd.CommandType = CommandType.StoredProcedure;
conn.Open();
using (var reader = cmd.ExecuteReader()) {
var movieIDIndex = reader.GetOrdinal("MovieID");
var nameIndex = reader.GetOrdinal("Name");
var yearIndex = reader.GetOrdinal("Year");
var lengthIndex = reader.GetOrdinal("Length");
var summaryIndex = reader.GetOrdinal("Summary");
while (reader.Read()) {
movieTitles.Add(new Movie {
MovieID = reader.GetInt32(movieIDIndex),
Name = reader.GetString(nameIndex),
Year = reader.GetInt32(yearIndex),
Length = reader.GetInt32(lengthIndex),
Summary = reader.GetString(summaryIndex),
});
}
}
}
catch {
throw new ApplicationException("An error occured!");
}
}
movieTitles.TrimExcess();
return movieTitles;
}
Вот базовый класс для класса, содержащего метод выше:
public abstract class DALBase {
private static string _connectionString;
static DALBase() {
_connectionString = WebConfigurationManager.ConnectionStrings["NameOfTheDatabase_ConnectionString"].ConnectionString;
}
protected SqlConnection CreateConnection() {
return new SqlConnection(_connectionString);
}
}
из web.config:
<connectionStrings>
<add name="NameOfTheDatabase_ConnectionString" connectionString="Data Source=xxx.xx.xxx.x;Initial Catalog=The_Catalog;User ID=xxxxxx;Password=xxxxxx" providerName="System.Data.SqlClient"/>
</connectionStrings>