【发布时间】:2020-08-14 12:32:04
【问题描述】:
我有一种方法可以检查数据库中是否已经存在名称。我现在这样做的方式是首先通过公司 ID 获取公司名称,然后使用从 UI 收到的名称作为参数检查名称。
现在当前的代码非常庞大,有没有最简单的方法可以做到这一点,或者我可以改进当前的代码。
public BaseResponse CheckDupliateCompany(string companyName, string companyId)
{
BaseResponse response = new BaseResponse();
string existingCompanyName = null;
using (SqlConnection con = new SqlConnection(connectionString))
{
if (companyId != null)
{
string sqlQuery = "SELECT * FROM CompanyInformation where CompanyID= " + companyId;
SqlCommand cmd = new SqlCommand(sqlQuery, con);
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
existingCompanyName = rdr["CompanyName"].ToString();
}
if (string.Equals(existingCompanyName, companyName))
{
response.Status = (int)Status.Failed;
} else
{
response.Status = (int)Status.Success;
}
con.Close();
}
else
{
string sqlQuery = "SELECT * FROM CompanyInformation where CompanyName= '" + companyName + "'";
SqlCommand cmd = new SqlCommand(sqlQuery, con);
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
response.Status = (int)Status.Failed;
}
con.Close();
}
}
return response;
}
【问题讨论】: