Обсуждение работы программы
| |
PFN | Дата: Понедельник, 26.10.2015, 14:42 | Сообщение # 691 |
Генерал-майор
Группа: Друзья
Сообщений: 206
Статус: Offline
| Здравствуйте, drserj! Создал я "монстра" из жанров (Либрусек + Флибуста + Старые коды) и сам ужаснулся Вводить это чудовище в Вашу программу не стал, а решил попробовать в отдельной программке.
Для этого пришлось (для ускорения обработки) создать БД. Чтобы не заморачиваться с SQL-сервером использовал Access, тем более, что VStudio воспринимает *.mdb как родную. И все вроде работало пока на ровном пути не возник "ухаб" в виде апострофа в именах авторов и файлов (у меня имя автора есть в названии файла). А так как запросы к базе реализуются на SQL, который использует одинарные кавычки, как служебные символы, а создатели книг формата Fb2 для обозначения апострофа используют все, что в голову взбредет, то начались "пляски с бубнами"... Не поделитесь рецептом нейтрализации этой проблемы?
Спасибо!
=============================== Приказ, который может быть понят неправильно, обязательно будет понят неправильно
|
|
| |
drserj | Дата: Понедельник, 26.10.2015, 16:15 | Сообщение # 692 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Цитата PFN ( ) Не поделитесь рецептом нейтрализации этой проблемы? Ну, обычно экранируется обратной косой, типа \' как-то так, вроде.... Я ж не знаю чего Вы там пытаетесь делать...
http://www.mysql.ru/docs/man/String_syntax.html
drSerj
|
|
| |
PFN | Дата: Понедельник, 26.10.2015, 19:54 | Сообщение # 693 |
Генерал-майор
Группа: Друзья
Сообщений: 206
Статус: Offline
| Цитата drserj ( ) Я ж не знаю чего Вы там пытаетесь делать...
Да ничего особенного: при выполнении команды INSERT компилятор выдал исключение для фамилии автора типа О'Брайен. Я поискал по сети варианты решения проблемы. Кое-что нашел и попытался применить. Но при тестовом прогоне один вариант ('"О''Брайен"' - два апострофа подряд) сработал нормально, а с другой фамилией - не прокатило. Обратный слэш тоже почему-то не помогает. Хотя, может я неправильно им воспользовался... Буду еще эксперементировать. Беда в том, в разных языках подходы тоже разные. И то, что предлагается в MySQL не всегда соответствует тому, что реализует Майкрософт в своих программах. Была надежда, что у Вас есть простой универсальный рецепт, т.к. я посмотрел в Вашей программе и там эти фамилии (с апострофами) имеются. Значит обрабатываются без проблем.
Кстати, ссылка не рабочая. Нашел нужное на этой странице: http://www.mysql.ru/docs/mysql-man-4.0-ru/reference.html#describe
=============================== Приказ, который может быть понят неправильно, обязательно будет понят неправильно
|
|
| |
sergtch | Дата: Понедельник, 26.10.2015, 20:46 | Сообщение # 694 |
Рядовой
Группа: Пользователи
Сообщений: 14
Статус: Offline
| Добрый вечер.
Цитата Смотреть конкретные случаи надо. Вероятнее всего либо информация о файле отсутствует, либо ее недостаточно. А может и с самим файлом проблема. Если очень важно - пришлите файл, я попробую проанализировать причину... К сожалению в том виде, в каком они вызывали ошибку, их уже нет. Хотя "валидаторами" они пропускались. Вопрос вот в чем, хорошо-бы видеть хотя-бы в общих чертах причину ошибки.
С уважением, Сергей.
|
|
| |
drserj | Дата: Понедельник, 26.10.2015, 21:18 | Сообщение # 695 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Цитата PFN ( ) Беда в том, в разных языках подходы тоже разные. И то, что предлагается в MySQL не всегда соответствует тому, что реализует Майкрософт в своих программах. это да, но в основном базовый SQL сходен...
Цитата PFN ( ) Кстати, ссылка не рабочая
ссылка абсолютно рабочая, еще раз проверил...
drSerj
|
|
| |
drserj | Дата: Понедельник, 26.10.2015, 21:21 | Сообщение # 696 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Цитата sergtch ( ) Вопрос вот в чем, хорошо-бы видеть хотя-бы в общих чертах причину ошибки. Пожалуй... Вопрос только в том, чья это ошибка.... Возможно, это валидатор xml отработал (fb2 допускает вольности, которых не допускает микрософтовский xml)... А может и логическая ошибка... Плохо, что нет файла...
drSerj
|
|
| |
PFN | Дата: Понедельник, 26.10.2015, 23:21 | Сообщение # 697 |
Генерал-майор
Группа: Друзья
Сообщений: 206
Статус: Offline
| Цитата drserj ( ) ссылка абсолютно рабочая, еще раз проверил... Действительно, в этот раз нормально открылась. А перед этим мне 4 раза выдавало страницу 404 с предложением перейти на Главную.
=============================== Приказ, который может быть понят неправильно, обязательно будет понят неправильно
|
|
| |
drserj | Дата: Вторник, 27.10.2015, 09:02 | Сообщение # 698 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Цитата PFN ( ) Действительно, в этот раз нормально открылась. А перед этим мне 4 раза выдавало страницу 404 с предложением перейти на Главную. Да и ладно, может работы какие проводились...
drSerj
|
|
| |
sergtch | Дата: Пятница, 30.10.2015, 20:15 | Сообщение # 699 |
Рядовой
Группа: Пользователи
Сообщений: 14
Статус: Offline
| Добрый вечер. Я все со своей локальной библиотекой :)
Вот попался файл, который выдает ошибку. Не знаю, получиться скачать, вот ссылка: https://dl.dropboxusercontent.com/u/103902394/123.rar
Следующий вопрос, в файле есть строка доп. информации: <custom-info info-type="fb2read-status">хх</custom-info> Как в расширенном поиске выбрать файлы с определенным значением "хх"?
Ну и маленькое неудобство, каждый раз приходится выбирать библиотеку (в расширенном поиске), может как-то запоминать последний выбор?
С уважением, Сергей.
|
|
| |
drserj | Дата: Пятница, 30.10.2015, 21:25 | Сообщение # 700 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Цитата sergtch ( ) Вот попался файл, который выдает ошибку.Не знаю, получиться скачать Скачал. Действительно, ошибка. Скорее всего в одном из полей символ, который недопустим при добавлении в базу.... Более детально скажу, когда гляну отладчиком.
Цитата sergtch ( ) Следующий вопрос, в файле есть строка доп. информации:<custom-info info-type="fb2read-status">хх</custom-info>Как в расширенном поиске выбрать файлы с определенным значением "хх"?
Хороший вопрос... Добавляется ли это в базу... Если добавляется - теоретически можно... Например, попробовать Дополнительная информация содержит %хх%
Цитата sergtch ( ) Ну и маленькое неудобство, каждый раз приходится выбирать библиотеку (в расширенном поиске), может как-то запоминать последний выбор?
Удобство спорное... Удобно тем, у кого одна библиотека... У меня их 3... И далеко не всегда я ищу в одной и той же.... Разве-что в одном сеансе работы программы сохранить... Даже и не знаю...
drSerj
|
|
| |
sergtch | Дата: Суббота, 31.10.2015, 13:21 | Сообщение # 701 |
Рядовой
Группа: Пользователи
Сообщений: 14
Статус: Offline
| Добрый день.
Цитата Хороший вопрос... Добавляется ли это в базу... Если добавляется - теоретически можно... Например, попробовать Дополнительная информация содержит %хх% Я всякие варианты пробовал - не находит. Я думал так: если есть такое поле, значит должна быть такая возможность. Идея-то такая, заполнить группу "прочитано" наиболее простым способом. Добавлять поодиночке книги муторно, да и пропустить/ошибиться недолго. Вот и подумал, найду все книги по своему тегу и добавлю в группу.
Цитата Цитата sergtch ()Ну и маленькое неудобство, каждый раз приходится выбирать библиотеку (в расширенном поиске), может как-то запоминать последний выбор?
Удобство спорное... Эта мысль мне пришла, когда я пробовал разные варианты поиска. Может "галку" добавить: Помнить библиотеку или нет?
С уважением, Сергей.
|
|
| |
drserj | Дата: Суббота, 31.10.2015, 14:03 | Сообщение # 702 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Цитата sergtch ( ) Я думал так: если есть такое поле, значит должна быть такая возможность. Если честно - я не помню сейчас, какие именно поля идут в базу. Надо код глядеть.
Цитата sergtch ( ) Может "галку" добавить: Помнить библиотеку или нет?
а на эту галку - еще одну Вопрос, если одна библиотека - зачем убирать галку и искать именно в ней? Что, с включенной галкой "искать во всех библиотеках" - не пашет???
drSerj
|
|
| |
sergtch | Дата: Суббота, 31.10.2015, 17:02 | Сообщение # 703 |
Рядовой
Группа: Пользователи
Сообщений: 14
Статус: Offline
| Добрый день.
Цитата а на эту галку - еще одну Вопрос, если одна библиотека - зачем убирать галку и искать именно в ней? Ну библиотека-то не одна. Да ладно, это меня раздражало, когда мне пришлось экспериментировать с поиском. Так что это не существенно в "обычной жизни".
Вот с поиском, важнее.
С уважением, Сергей.
|
|
| |
drserj | Дата: Суббота, 31.10.2015, 17:53 | Сообщение # 704 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Цитата sergtch ( ) Вот с поиском, важнее. Только-что проверил. с поиском всё в порядке. Если в поле custominfo информация есть - поиском, как я описывал выше, "Дополнительная информация содержит %хх%" всё находится. Обрати внимание на то, что строка поиска должна быть ограничена символами %%
drSerj
|
|
| |
sergtch | Дата: Суббота, 31.10.2015, 18:58 | Сообщение # 705 |
Рядовой
Группа: Пользователи
Сообщений: 14
Статус: Offline
| Действительно, до этого (%%) не додумался. Хотя тут еще одна хитрость нужна, но работает. Спасибо.
С уважением, Сергей.
|
|
| |
|