Я создал 3tier приложение .., где я хочу вызвать метод обновления, который соединяет базу данных и соответственно обновляет записи.
ниже - уровень доступа к моей базе данных.
public class DataLogic
{
public DataLogic()
{
}
public SqlConnection ConnectDatabase
{
get { return new SqlConnection(ConfigurationManager.ConnectionStrings["SiteSqlServer"].ConnectionString); }
}
public int UpdateArticle(BusinessLogic b, int ArticleId)
{
int updateExecuted = -1;
StringBuilder formParamString = new StringBuilder();
formParamString.Append("IsArticlePaging=" + b.IsPagingEnable + " ");
string updateString = "update crossarticle_article set " + formParamString.ToString() + "where id = " + ArticleId + "";
try
{
using (SqlCommand comUpdateArticle = new SqlCommand(updateString, ConnectDatabase))
{
ConnectDatabase.Open();
updateExecuted = comUpdateArticle.ExecuteNonQuery();
}
}
catch (Exception ex) { HttpContext.Current.Response.Write(ex.Message); }
finally { ConnectDatabase.Close(); }
return updateExecuted;
}
}
ниже - уровень моей бизнес-логики
public class BusinessLogic
{
DataLogic dLogic = new DataLogic();
public BusinessLogic()
{
}
private bool _IsPagingEnable;
public bool IsPagingEnable
{
get { return _IsPagingEnable; }
set { _IsPagingEnable = value; }
}
private int _articleID;
public int ArticleID
{
get { return _articleID; }
set { _articleID = value; }
}
public int UpdateExtraFieldArticle()
{
return dLogic.UpdateArticle(this, ArticleID);
}
}
Теперь, когда я создаю объект BusinessLogic и вызываю метод обновления, он вызывает метод обновления DataLogic, как и ожидалось, но перед обновлением базы данных выдает ошибку, говоря, что ExecuteNonQuery требует открытого и доступного соединения. но я уже открыл соединение.
Пожалуйста, помогите мне по поводу sqlconnection.