У меня есть T-SQL и запрос:
string queryString = @"SELECT AGENT.Number, PERSON.LoginName, AGENT.EnterpriseName FROM Agent AGENT INNER JOIN Person PERSON ON AGENT.PersonID = PERSON.PersonID WHERE LOWER(EnterpriseName) LIKE @entname";
string connStr = null;
try
{
connStr = ConfigurationManager.ConnectionStrings["DB"].ConnectionString + ToInsecureString(Decrypt(ConfigurationManager.AppSettings["admin"])) + ";";
}
catch (Exception ex)
{
Logs.WriteMessage("Error while making connStr " + ex.TargetSite + ex.StackTrace + ex.ToString());
}
try
{
using (SqlConnection connection = new SqlConnection(connStr))
{
connection.Open();
using (SqlCommand command = new SqlCommand(queryString, connection))
{
SqlParameter param = new SqlParameter
{
ParameterName = "@entname",
Value = "'%" + agentName + "%'"
};
command.Parameters.Add(param);
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
login = (string)reader[1];
userID = (string)reader[0];
}
}
}
connection.Close();
}
}
И это не работает.Я не получаю никакого результата, но когда я использую значение в запросе вместо @parameter
, я получаю правильный результат.
Параметр @entname
не заменяется значением, поэтому запрос не выполнен.Пожалуйста, дайте мне подсказку.
Когда я останавливаюсь на точке останова и вижу запрос, он выглядит так:
SELECT AGENT.Number, PERSON.LoginName, AGENT.EnterpriseName
FROM Agent AGENT
INNER JOIN Person PERSON ON AGENT.PersonID = PERSON.PersonID
WHERE LOWER(EnterpriseName) LIKE @entname
Так что ничего не изменилось.