0
我正在使用ASP.NET的API。有一次,我需要一個方法來調用另一個。這兩方面的使用存儲過程:HTTP 500:導致錯誤的SQL連接字符串
public async Task<IHttpActionResult> GetTeamById(string TeamId)
{
DataTable Result = new DataTable();
SqlCommand Command = new SqlCommand("GetTeam", ConnectionString);
Command.CommandType = CommandType.StoredProcedure;
Command.Parameters.AddWithValue("@TeamId", TeamId);
using (ConnectionString) /defined above
{
try
{
ConnectionString.Open();
using (SqlDataReader DataReader = Command.ExecuteReader())
{
Result.Load(DataReader);
return Ok(Result);
}
}
catch
{
return InternalServerError();
}
}
}
public async Task<IHttpActionResult> UpdateTeam(string TeamId)
{
SqlCommand Command = new SqlCommand("UpdateTeam", ConnectionString);
Command.CommandType = CommandType.StoredProcedure;
Command.Parameters.AddWithValue("@Id", TeamId);
using (ConnectionString)
{
try
{
ConnectionString.Open();
int returnvalue = (int) Command.ExecuteScalar();
if (returnvalue == 1)
return BadRequest();
else
await GetTeamById(TeamId);
}
catch
{
return InternalServerError();
}
}
}
我所面臨的問題是,這種代碼拋出500內部服務器錯誤當UpdateTeam
方法被調用。我發現問題發生在GetTeamById
函數的ConnectionString.Open()
行處。
我認爲這可能是由於連接仍然打開?但是,這不就是爲什麼人們使用using()
?我該如何解決這個問題?
感謝您的支持!
你爲什麼不使用你的connestionstring喜歡這些 – Bharat
使用(VAR dbAbel_Reporting =新Abel_ReportingPortalEntities()) { – Bharat
即使用它爲VAR和創建它的新實例.. – Bharat