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

start [/forum/topic.php?fid=58&tablet=1&tid=2041826]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
208ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 551ms |

| 0 / 0 |
