Невозможно отправить labNumber в запрос sql.Python

Программы на Python
Anonymous
Невозможно отправить labNumber в запрос sql.

Сообщение Anonymous »


Я очень озадачен тем, почему моя переменная _labNumber не отправляется в метод, который я использую для вызова SQL-запроса, поскольку она работает для других методов того же класса. У меня в классе есть блок try catch, который вызывает методы, которым я передаю _labNumber (это правильно назначено, я проверил его трижды)

попробуйте: _comment = self.dataServices.GetComment(_labNumber) _value2 = self.dataServices.GetValue2(_labNumber) _value1 = self.dataServices.GetValue1(_labNumber) _results = self.dataServices.getResults(_labNumber) кроме AttributeError: _комментарий = Нет _value2 = Нет _value1 = Нет _results = Нет Это один из методов класса, который используется для получения данных из базы данных:

def GetValue2(self, _LabNumber): _LabNumberStr = ул (_LabNumber) пытаться: с Connection.cursor() как _cursor: _cursor.execute("{CALL dbo.uspShireXGetValue2(%s)}", _LabNumberStr) строка = _cursor.fetchone() если строка: вернуть {'ЗНАЧЕНИЕ2': строка[0]}#21 еще: вернуть {'ЗНАЧЕНИЕ2': Нет} кроме исключения как e: # Обработать или зарегистрировать исключение соответствующим образом print(f"Произошла ошибка: {e}") вернуть {'ЗНАЧЕНИЕ2': Нет} И, наконец, вот запрос, который, как я знаю, работает, поскольку возвращает данные, когда я жестко запрограммировал номер лаборатории:

@LabNumber VARCHAR(10) КАК УСТАНОВИТЬ NOCOUNT ON ВЫБИРАТЬ WDR.КОММЕНТАРИЙ ИЗ dbo.DNA_WORKSHEET_DET WD ВНУТРЕННЕЕ СОЕДИНЕНИЕ dbo.DNA_WORKSHEET W ON WD.WORKSHEET = W.WORKSHEET ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ dbo.DNA_TEST T ON W.TEST = T.TEST ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ dbo.DNA_LAB_TEST LT НА WD.LABNO = LT.LABNO И W.TEST = LT.TEST ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ dbo.DNA_WORKSHEET_DET_RESULT WDR НА WD.WORKSHEET = WDR.WORKSHEET И WD.LANE = WDR.LANE ГДЕ WD.LABNO = @LabNumber возвращаться Он возвращает ошибку «Произошла ошибка: недостаточно аргументов для строки формата». ' любая помощь в исправлении этой проблемы будет очень признательна, так как я уже пару дней бьюсь головой о стену.

Вернуться в «Python»