|
|
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
Проект написан на Delphi7 . Используются компоненты ADO + MSSQL 2012. В приложении все работает штатно, и компоненты не оповещают о каких либо ошибках. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Однако профайлером отлавливаются ошибки скриптов: Код: pascal 1. 2. 3. 4. 5. 6. При том всем, что в той же сессии, профайлером отваливаются эти же процедуры, но с правильной переменной Код: sql 1. Примечательно еще то, что данному явлению подвержены еще несколько процедур и функций. Закономерность в том, что замененный параметр, это всегда чип-код карты, считанный картридером. А так же замечено, что подставляется что-то нечто слово целиком. Т.е. слово до пробела. И эти же слова тоже агрегируемы как в примере. Их не так много вариантов, часто повторяются. Может кто сталкивался, что это за ерунда? Приложение работает нормально, но есть опасения, что я чего-то не вижу и где-то может быть не нормально. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2017, 10:38:30 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
Почему не используются параметры? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2017, 10:58:11 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
wadmanПочему не используются параметры? Извиняюсь, какие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2017, 10:59:46 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
Двоичник, Что-то типа (псевдокод): Код: pascal 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2017, 11:07:05 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
Встречаются и такие фрагменты кода. Мне проект достался по наследству, потому как есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2017, 11:14:54 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
Двоичник, что за "профайлер" такой в delphi 7, о каких скриптах идет речь, что от чего "отваливается" и, наконец - какой текст ошибок? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2017, 11:46:43 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
чччДДвоичник, что за "профайлер" такой в delphi 7, о каких скриптах идет речь, что от чего "отваливается" и, наконец - какой текст ошибок? SQL Server Profiler Скрипты указаны выше, в первом посте Код: pascal 1. А ошибку выдает SQL Server: Код: plaintext 1. Код Delphi, который должен исполняться, так же прописан в первом посте. не отваливается, извините, опечатался. имелось в виду слово - отлавливается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2017, 11:57:18 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
Двоичник, ну и причем тут Delphi и где собственно вопрос? Или ты не в силах перевести на русский Unclosed quotation mark after the character string 'BASETABLENAME? И не видишь разницы между тем, что должно получиться тут: Код: pascal 1. и этим: Код: sql 1. ? ... Куда вы дели программиста?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2017, 12:06:34 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
'Select dbo.AccountIdOnChipCode('''+data+''') AccountID' ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2017, 12:41:17 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
schi'Select dbo.AccountIdOnChipCode('''+data+''') AccountID' ? А чем это отличается от q.SQL.Text:='Select dbo.AccountIdOnChipCode('+#39+data+#39+') AccountID';, кроме формы записи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2017, 12:44:19 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
Очевидно, что только религиозными убеждениями. Я переделал в параметризованный код. Буду еще наблюдать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2017, 12:53:37 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
Двоичник Код: pascal 1. А так же замечено, что подставляется что-то нечто слово целиком. Т.е. слово до пробела. Необходимо убедиться, что в строковой переменной data нет символов #00 (после слова целиком). Предполагаю, что метод TStrings.SetTextStr (вызываемый при q.SQL.Text:=) использует терминальный ноль как признак окончания входной строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 13:57:07 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
UridianДвоичник Код: pascal 1. А так же замечено, что подставляется что-то нечто слово целиком. Т.е. слово до пробела. Необходимо убедиться, что в строковой переменной data нет символов #00 (после слова целиком). Предполагаю, что метод TStrings.SetTextStr (вызываемый при q.SQL.Text:=) использует терминальный ноль как признак окончания входной строки. То что я отлавливаю трассировкой на SQL, так это вообще какой-то шлак и не понятно, как он туда попадает. Будто из кучи берет какие-то рандомные значения не понятных указателей. В эти функции эти слова вообще не должны никак подставляться. Иными словами это не обрезки чего-то ожидаемого. Ав вообще левак из не понятно откуда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 14:07:05 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
Двоичник, Параметры не решили проблему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 14:08:10 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
Осталось увидеть, что такое data ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 14:56:56 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
alekcvpДвоичник, Параметры не решили проблему? Наблюдаю еще schiОсталось увидеть, что такое data Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 15:20:44 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
ДвоичникschiОсталось увидеть, что такое data Код: sql 1. Жаль, что так и не удалось услышать начальника транспортного цеха. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 15:48:14 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
schiЖаль, что так и не удалось услышать начальника транспортного цеха. Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 15:58:59 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
ДвоичникschiЖаль, что так и не удалось услышать начальника транспортного цеха. Код: pascal 1. Тогда у тебя нет проблем и непонятно, зачем ты создал ветку. Мне из тебя вытягивать сведения ни к чему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 16:39:30 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
schi, Извини, мне не всегда понятно, что спрашивают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 16:44:51 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
Двоичник schi, Извини, мне не всегда понятно, что спрашивают. Желательно показать, как и чем заполняется переменная Data ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 17:32:43 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
schiДвоичник schi, Извини, мне не всегда понятно, что спрашивают. Желательно показать, как и чем заполняется переменная Data Ох, это совсем не просто... Есть устройство, считыватель чипкода с индукционной обмотки пластиковых карт. Оно работает на драйвере в Win. К дарйверу слушателем написана dll, в которой немеряное количество кода. Мое приложение динамичеки открывает эту библиотеку и постоянно опрашивает ее на получение значения по событию. События всего два - приложена карта и снята карта. Извините, но фрагменты кода выкладывать не могу, да и их слишком много. Муторные. Единственное только функцию формирования чипкода пожалуйста Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 17:39:43 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
Двоичник, тогда я могу посоветовать перед тем, как передавать значение переменной в текст SQL, выводить его в файл, в тех же апострофах. И посмотреть, что выводится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 18:37:10 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
schiДвоичник, тогда я могу посоветовать перед тем, как передавать значение переменной в текст SQL, выводить его в файл, в тех же апострофах. И посмотреть, что выводится. Я так и сделал. Тоже веду наблюдения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 11:22:18 |
|
||
|
Вместо переменных в трассировке ловлю не мои значения
|
|||
|---|---|---|---|
|
#18+
alekcvpДвоичник, Что-то типа (псевдокод): Код: pascal 1. 2. Спасибо! проблема решена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2017, 17:44:29 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=132&tid=2041826]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 376ms |

| 0 / 0 |
