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