Но появилась новая проблема. Иногда скрипт во время работы внезапно запрещает выделять действия. Т.е при клике на любое действие, оно просто не выделяется красным. Это второй баг, независимый от первого если что
не парсить запись из базы данных изза ":"
-
@kuzkuz said in не парсить запись из базы данных изза ":":
Я писал тут https://community.bablosoft.com/topic/12829/профи-кто-работает-с-бд-как-вы-избегаете-таких-ошибок/11 что у меня возникла аналогичная проблема.
Софт в базу пишет ip, так вот когда приходит кривой ip типа sdfh:dsgh:fgh:3467 то начинается потом попа с парсингом этой строки. Как вариант - перед добавлением в базу заменять все : на что то там..Но. Если вдруг забудешь и вручную добавишь в какое то поле строку с : то...На сколько я помню двоеточие прекрасно экранируется кавычками, парсер же как то парсит правильно ссылки из базы.
-
@Fox said in не парсить запись из базы данных изза ":":
@kuzkuz said in не парсить запись из базы данных изза ":":
Я писал тут https://community.bablosoft.com/topic/12829/профи-кто-работает-с-бд-как-вы-избегаете-таких-ошибок/11 что у меня возникла аналогичная проблема.
Софт в базу пишет ip, так вот когда приходит кривой ip типа sdfh:dsgh:fgh:3467 то начинается потом попа с парсингом этой строки. Как вариант - перед добавлением в базу заменять все : на что то там..Но. Если вдруг забудешь и вручную добавишь в какое то поле строку с : то...На сколько я помню двоеточие прекрасно экранируется кавычками, парсер же как то парсит правильно ссылки из базы.
Верно.
Кавычками экранируется. Но только когда я строку распарсиваю на : то получается лажа. Простите за мой русский.
У меня ссылки не парсит, если пилить строку на :, а не на ", и понятно почему.
Странно что у вас парсит успешно -
@kuzkuz said in не парсить запись из базы данных изза ":":
@Fox said in не парсить запись из базы данных изза ":":
@kuzkuz said in не парсить запись из базы данных изза ":":
Я писал тут https://community.bablosoft.com/topic/12829/профи-кто-работает-с-бд-как-вы-избегаете-таких-ошибок/11 что у меня возникла аналогичная проблема.
Софт в базу пишет ip, так вот когда приходит кривой ip типа sdfh:dsgh:fgh:3467 то начинается потом попа с парсингом этой строки. Как вариант - перед добавлением в базу заменять все : на что то там..Но. Если вдруг забудешь и вручную добавишь в какое то поле строку с : то...На сколько я помню двоеточие прекрасно экранируется кавычками, парсер же как то парсит правильно ссылки из базы.
Верно.
Кавычками экранируется. Но только когда я строку распарсиваю на : то получается лажа. Простите за мой русский.Приведите пожалуйста пример данных, которые можно записать в базу в отдельные колонки и затем действие "парсить строку" их неправильно будет парсить. Так решение найдётся быстрее
-
@Fox said in не парсить запись из базы данных изза ":":
@kuzkuz said in не парсить запись из базы данных изза ":":
@Fox said in не парсить запись из базы данных изза ":":
@kuzkuz said in не парсить запись из базы данных изза ":":
Я писал тут https://community.bablosoft.com/topic/12829/профи-кто-работает-с-бд-как-вы-избегаете-таких-ошибок/11 что у меня возникла аналогичная проблема.
Софт в базу пишет ip, так вот когда приходит кривой ip типа sdfh:dsgh:fgh:3467 то начинается потом попа с парсингом этой строки. Как вариант - перед добавлением в базу заменять все : на что то там..Но. Если вдруг забудешь и вручную добавишь в какое то поле строку с : то...На сколько я помню двоеточие прекрасно экранируется кавычками, парсер же как то парсит правильно ссылки из базы.
Верно.
Кавычками экранируется. Но только когда я строку распарсиваю на : то получается лажа. Простите за мой русский.Приведите пожалуйста пример данных, которые можно записать в базу в отдельные колонки и затем действие "парсить строку" их неправильно будет парсить. Так решение найдётся быстрее
столб1 столб2 столб3 столб4 столб5
Иван Петрович 1989 site.ru Leningrad
Петр Сергеевич 1988 http://site.ru MoskvaВсё тут перестанет работать
Мы получаем город парся строку на : и получая значение 4 из списка
С Иван Петровичем Ок, в Петром Сергеевичем не проканает -
@kuzkuz said in не парсить запись из базы данных изза ":":
Петр Сергеевич 1988 http://site.ru Moskva
Всё тут перестанет работать
Мы получаем город парся строку на : и получая значение 4 из списка
С Иван Петровичем Ок, в Петром Сергеевичем не проканаетВсе тут нормально распарсит.
-
@UserTrue said in не парсить запись из базы данных изза ":":
@kuzkuz said in не парсить запись из базы данных изза ":":
Петр Сергеевич 1988 http://site.ru Moskva
Всё тут перестанет работать
Мы получаем город парся строку на : и получая значение 4 из списка
С Иван Петровичем Ок, в Петром Сергеевичем не проканаетВсе тут нормально распарсит.
ок
а тутстолб1 столб2 столб3 столб4 столб5 Иван Петрович 1989 site.ru Leningrad Петр Сергеевич 1988 88:23678:выароыв Moskva -
@kuzkuz said in не парсить запись из базы данных изза ":":
Петр Сергеевич 1988 88:23678:выароыв Moskva
И тут! Вы принципиально задаете вопросы, не проверив сами? Ну ок
-
@UserTrue said in не парсить запись из базы данных изза ":":
Петр Сергеевич 1988 88:23678:выароыв Moskva
Вы шутите? вот тестовый.
-
@UserTrue said in не парсить запись из базы данных изза ":":
@kuzkuz said in не парсить запись из базы данных изза ":":
Петр Сергеевич 1988 http://site.ru Moskva
Всё тут перестанет работать
Мы получаем город парся строку на : и получая значение 4 из списка
С Иван Петровичем Ок, в Петром Сергеевичем не проканаетВсе тут нормально распарсит.
НИЧЕГО И ТУТ НЕ РАСПАРСИТ НОРМАЛЬНО
555-тест-парсим-двоеточие.xml
ВАЖНО! согласно описанному выше условию --- в строку БАЗЫ вместо "site.ru" записалось что то с :, в данном случае "http://site.ru" -
И тут! Вы принципиально задаете вопросы, не проверив сами? Ну ок
Удивило что @Fox Вам плюсанул, хотя Вы не правы.
@Fox
Приведите пожалуйста пример данных, которые можно записать в базу в отдельные колонки и затем действие "парсить строку" их неправильно будет парсить. Так решение найдётся быстрееВыше два примера.
Все что можно делать это менять : на какие то знаки при добавлении в базу. Но глобально проблему не решает, так как : все равно может заползти -
@GhostZ я описал ту проблему которая возникла у ТС!
Если я его верно понял. просто у меня аналогичная проблема возникла в свое время.
Для себя я решение нашел. Но для новичков может быть неожиданным что они всегда получали строку с базы, парсили на : и брали нужное значение все было гут, а в какой то момент это схлопнулось.Ваш пример интересен, но пока не очень понятен. Спасибо
можете показать какая у вас строка с базы в переменной получается?
-
у меня строка с базы то такая
stolbez1:stolbez2:"stolbez3:stolbez4:stolbez5:"stolbez6:то такая
stolbez1:stolbez2:stolbez3:"stolbez4:slovo:slovo:stolbez5:"stolbez6:я может что то путаю, по памяти, но! " прыгают в зависимости от значений в столбцах
в итоге парсить ни через " ни через : не получается норм если не контроллировать записи. -
@kuzkuz, а чего не понятно то? Если ячейка в базе содержит CSV разделитель (":" или ";" или ","), то эта ячейка экранируется кавычками, действие "Парсить строку" из модуля "Инструменты" прекрасно парсит строки с таким экранированием.
-
@GhostZ а почему ни у ТС ни у меня так не получилось?
Может потому что когда я строки с базы получаю заранее скрипт не знает на что я буду парсить? Вам так не кажется? А мне кажется именно так.
Я получаю строки с базы применяя некоторые фильтры.
Строки уже далее не в курсе где какая ячейка была и в них ничего не заэкранировано -
просто @UserTrue несправедливо обвинил меня. Я показал 2 проекта что так не получается.
Считайте, что эти строки получены с базы.Ссылка не экранирована == она и не будет экранирована, ведь я просто получил строку с базы, через кубик "Получить записи по критерию"
-
@kuzkuz said in не парсить запись из базы данных изза ":":
Ссылка не экранирована == она и не будет экранирована, ведь я просто получил строку с базы, через кубик "Получить записи по критерию"
Нет, строка будет экранирована даже если она получена действием "Получить Записи По Критерию"



