Как несколько пользователей могут запросить таблицу SQL с помощью параметра, переданного в текстовое поле на VB.NET форма без перезаписи результатов друг друга
У меня есть таблица SQL, я хочу, чтобы несколько пользователей могли запрашивать таблицу на основе параметра, передаваемого через текстовое поле в форме в visual basic, и результатов, отображаемых в отчете Crystal.
Я делаю это таким образом, чтобы создать другую таблицу, в которую помещаются результаты запроса (это перезаписывает все существующие данные в этой таблице). Как вы можете видеть, этот метод не очень хорош, если несколько пользователей, подключенных одновременно, решают выполнить один и тот же запрос.
Я пробовал использовать представления, но мне не удалось передать параметры в представление из текстового поля. Я попробовал использовать временные таблицы, но проблема с ними заключается в том, что я не могу передать временную таблицу в Crystal Report.
Я прошу любой помощи о том, как этого достичь.
Любой пример кода, который поможет мне, будет высоко оценен.
Что я уже пробовал:
Private Sub SelectViewClientInvoices() myconnection.Open() mycommand = New SqlCommand("Select MacAddress,InvoiceNo,ClientNo,ClientName,TelephoneNo,EmailAddress,PhysicalAddress,LoggedInUser FROM View_ClientSelectedInvoices WHERE ClientNo = '" & TxtClientNo.Text & "' and InvoiceNo = '" & TxtInvoiceNo.Text & "' ", myconnection) mycommand.ExecuteNonQuery() myconnection.Close() End Sub
Приведенный выше код-это то, как я пытаюсь достичь этого с помощью представления. Я предполагаю, что каждый раз, когда этот код запускается, он извлекает из представления все записи, соответствующие значению в двух текстовых полях. к сожалению, я не получаю желаемых результатов.
Sandeep Mewara
Объясните: "к сожалению, я не получаю желаемых результатов."
sazmuelz
Представление по-прежнему извлекает все данные из таблицы, а не только данные, связанные со значением, переданным в текстовое поле
Garth J Lancaster
В дополнение ко всем остальным комментариям "как вы можете видеть, этот метод не очень хорош, если несколько пользователей, подключенных одновременно, решают запустить один и тот же запрос". .. это именно то, что должна делать база данных - разрешить нескольким пользователям доступ к данным .. если они выполняют один и тот же запрос, то пусть база данных занимается кэшированием и т. д.
Я не уверен, в чем заключается ваша проблема с этим, за исключением того, что OriginalGriff указывает ниже в качестве решения / исправления вашего выбранного кода.
Если ваша проблема заключается в том, что все пользователи должны использовать одни и те же параметры для запроса, то это совершенно отдельная проблема - вам может понадобиться использовать контрольную таблицу или что-то подобное для хранения параметров для запуска, но как вы ее обновите/укажите продолжительность, в течение которой набор параметров является допустимым/набор для использования станет "интересным"
sazmuelz
Не все пользователи должны использовать одни и те же параметры для запроса. И да, этот метод не очень хорош для нескольких пользователей, подключенных одновременно. Мне нужна была помощь с решением для обслуживания нескольких одновременных подключений.