Я думаю, что есть несколько способов, по крайней мере, сделать это проще или улучшить ваш код. Но позвольте мне предложить пару соображений , которые я считаю важными:
¿Вам нужно выбрать все поля из CompanyInformation Таблица? Обычно выполнение SELECT *
не совсем хорошая практика, так как вы можете выбирать поля, которые вам могут не понадобиться. Кроме того, если в будущем в эту таблицу будет добавлено больше столбцов, эти поля также будут выбраны из-за * (звездочка). Здесь у вас есть полный ответ на этот топи c в StackOverflow .
С другой стороны, на основании того, что вы сказали о: получении от пользовательского интерфейса в качестве параметра .
A SQL Injection
можно создать, если вы не проверяете то, что передается из пользовательского интерфейса, а затем помещаете это непосредственно в свой запрос. Если это производственный код , вам следует избегать его всеми средствами. Подробнее о SQL Инъекции здесь .
Наконец, мое предложение по улучшению вашего кода - использовать ИЛИ в вашем SQL утверждении. Здесь вы можете найти, как это сделать
Это будет что-то вроде (принимайте это только как ориентир, а не как полное решение):
SELECT column1, column2 -- the Columns that you really need to fetch
FROM CompanyInformation
WHERE CompanyID= companyId OR CompanyName= 'companyName' --you need to pass this properly
I надеюсь, он даст вам несколько советов о том, как его улучшить.