Im благодарен за некоторую помощь за ошибку в моем приложении, которая озадачивает меня !!SQL SELECT COUNT (*) иногда возвращает данные
проверить количество строк в таблице, которые содержат PersonId человека, я ищу с использованием:
cmd.commandtext = "SELECT Count (*) from PeopleDetails where PersonID = '11111'"
count = cmd.executescalar()
Это работает 98% времени. Иногда переменная count имеет данные из первого столбца запрашиваемой строки, которая является идентификатором GUID в таблице с именем rowid. Он не имеет ожидаемого целого числа строк, удовлетворяющих условию. Соединение является живым, и если запрос повторяется, он возвращает правильное значение счета.
Это видно больше всего, когда сервер загружается первым делом с утра, когда в базу данных поступает несколько одновременных запросов.
Помощь очень приветствуется !!
SQL сервер 2003, vb.net
Спасибо за взгляд!
Есть ли у вас какой-либо другой оператор sql в том же методе, что cmd.commandtext, который, вероятно, возвращает первый столбец? – Adil
Это не ваш настоящий код. Как вы передаете значение PersonID? Существуют ли другие строки кода, которые взаимодействуют с db? Прошу показать больше контекста. С таким количеством строк кода нет никакой возможности, чтобы вы описали поведение. – Steve
Создаете ли вы новую 'SqlConnection' для каждой из команд? Похоже, вы используете одно и то же 'SqlConnection' из нескольких потоков. – Luaan