私は3tierアプリケーションを作成しました。データベースを接続してそれに応じて更新メソッドを呼び出す必要があります。asp.netのSqlConnectionの問題
以下は私のデータベースアクセスレイヤーです。以下
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);
}
}
である私は、ビジネスロジックのオブジェクトを作成および更新メソッドを呼び出したときに、期待どおりにデータロジックのupdateメソッドを呼び出しますが、データベースを更新する前に、それはエラーをスローしますExecuteNonQueryにはオープンで利用可能な接続が必要です。しかし私はすでに接続を開いています。
SQL接続に関して助けてください。