Tad, соль вот в чём: сейчас мы действительно привязаны к elements.db, так как название вкладки используется как простейший способ группировки компонентов.
Я думаю, надо отказаться от "закладок" в пользу "тегов" - ключевых слов ("кнопка", "прогресс", ... ; "графический", "расширенный", "продвинутый", "супер-пупер(с)", ...). В программе изначально нет никаких ключевых слов, список уже имеющихся составляется по мере чтения записей из базы. Компонент может иметь любое число тегов (общей длиной с разделителями не более 255 симоволов). Теги заполняются пользователем при записи компонента в базу.
Alexbootch, пролистай пожалуйста тему, хотя бы последние 3-5 страниц.
[size=-2]------ Добавлено в 15:35
Если вкратце: хочется сделать этакий "конструктор запросов", точнее - WHERE-части запроса, чтобы можно было без знания SQL собирать сложные запросы. Собственно последние несколько страниц идёт обсуждение: как это сделать и вообще поиск идей.
Этот топик читают: Гость
Ответов: 5446
Рейтинг: 323
|
|||
карма: 1 |
|
Ответов: 1891
Рейтинг: 110
|
|||
iarspider, писал(а): Если вкратце: хочется сделать этакий "конструктор запросов", точнее - WHERE-части запроса, чтобы можно было без знания SQL собирать сложные запросы. Собственно последние несколько страниц идёт обсуждение: как это сделать и вообще поиск идейв принципе можно сделать "конструктор запросов" используя WHERE и/или LIKE с помощью компонентов FormatStr и If_else В отношении этого: iarspider, писал(а): Alexbootch, пролистай пожалуйста тему, хотя бы последние 3-5 страницПролистал! Но авторы так и не пришли к общему мнению, что конкретно хотят реализовать через запросы. |
|||
карма: 0 |
|
Ответов: 5446
Рейтинг: 323
|
|||
Alexbootch, собственно тут подняты 2 больших вопроса:
1. Какой уровень сложности делать для фильтра, которым можно пользоваться не знаю SQL? Сейчас - это WHERE с одной колонкой, а всё что сложнее - через "пользовательский запрос" (SQL). Народ хочет создавать запросы вида
|
|||
карма: 1 |
|
Ответов: 1891
Рейтинг: 110
|
|||
iarspider, писал(а): 1. Какой уровень сложности делать для фильтра, которым можно пользоваться не знаю SQL? Сейчас - это WHERE с одной колонкой, а всё что сложнее - через "пользовательский запрос" (SQL). Народ хочет создавать запросы видаДумаю, что сначало необходимо допустим выбрать AND, OR и т.д. Далее, с помощью If_else проверять, какие Edit'ы и др. заполнены и через FormatStr формировать запрос к базе данных |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Сначала нужно оптимизировать информацию, заносимую в базу. Не будет единого формата - не бдет толку.
1) Зачем при занесении информации соединил Автора и email ? 2) Посмотри, что имеешь на SELECT DISTINCT hasinfo FROM elements
3) Русские "нет" и "Нет" - в SQLite не считаются одним и тем же. 4) Зачем в "Примечания" (в пустое) записываешь " " ? и так можно продолжать и продолжать. А xe.db случайно не означает "хреновые элементы" ? |
|||
карма: 25 |
|
Ответов: 1891
Рейтинг: 110
|
|||
Tad писал(а): 3) Русские "нет" и "Нет" - в SQLite не считаются одним и тем же.Согласен! Думаю, что регистр букв нужно сделать прописными, иначе будет нужно искать несколькими запросами через UNION |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Alexbootch, а я думаю, что нужно отказаться от ручного ввода, а выбирать значение из выпадающего списка как при записи нового компонента в базу, так и при составлении запроса. Ручной ввод уместен только в "примечаниях".
А так смотри сколько вариантов запросов только по одному hasinfo:
V komplekte В комплекте Да Документация Есть Не требуется Нет Пример включен Пример и миниописание нет |
|||
карма: 25 |
|
Ответов: 1891
Рейтинг: 110
|
|||
Tad, писал(а): Alexbootch, а я думаю, что нужно отказаться от ручного ввода, а выбирать значение из выпадающего списка как при записи нового компонента в базу, так и при составлении запроса. Ручной ввод уместен только в "примечаниях".
А так смотри сколько вариантов запросов только по одному hasinfo:
V komplekte В комплекте Да Документация Есть Не требуется Нет Пример включен Пример и миниописание нет Да действительно нужно что-то делать! Хотя можно искать через LIKE, но если знаешь что искать |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Тут и LIKE безсильно
Комфортная работа БД возможна только при тщательной проработке как структуры БД, так и формата вносимых в нее записей. (чего в xe.db невижу) |
|||
карма: 25 |
|
Ответов: 1891
Рейтинг: 110
|
|||
Tad, писал(а): Тут и LIKE безсильноВсе-таки можно реализовать и с LIKE, но через словарь, т.е. пользователь открывает дочерную форму со словарем и выбирает из словаря. Tad, писал(а): Комфортная работа БД возможна только при тщательной проработке как структуры БД, так и формата вносимых в нее записей. (чего в xe.db невижу)С этим полностью согласен. |
|||
карма: 0 |
|
Ответов: 5446
Рейтинг: 323
|
|||
Tad писал(а):
Сначала нужно оптимизировать информацию, заносимую в базу. Не будет единого формата - не бдет толку. 1) Зачем при занесении информации соединил Автора и email ? 2) Посмотри, что имеешь на SELECT DISTINCT hasinfo FROM elements 3) Русские "нет" и "Нет" - в SQLite не считаются одним и тем же. 4) Зачем в "Примечания" (в пустое) записываешь " " ? 1. В грядущей версии (если она когда-либо выйдет) разделю автора и мыло 2. Знаю, бардак имею. Но это так, набросок, доделок будет ещё уйма. Tad писал(а):
а я думаю, что нужно отказаться от ручного ввода, а выбирать значение из выпадающего списка как при записи нового компонента в базу, так и при составлении запроса. Согласен. Я думаю, достаточно 2 значений - "ДА" и "НЕТ". Более того, надо (виртуально) разделить это поле тоже на два - "пример" и "документация" ("ДА|ДА"), и сделать 2 списка. 4) Это глюк Memo, эта зараза всегда в конце 0D0A приписывает, надо бы удалять 2 последних символа перез записью в базу. Tad писал(а):
и так можно продолжать и продолжать. Номер версии вроде говорит сам за себя: это бета-версия для публичного тестирования. Дорабатывать её буду по результатам обсуждения. Tad писал(а):
А xe.db случайно не означает "хреновые элементы" ? Нет xe.db = eXtra Elements DB (БД дополнительных элементов). Хреновых элементов в ней не очень много. |
|||
карма: 1 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
iarspider писал(а): Согласен. Я думаю, достаточно 2 значений - "ДА" и "НЕТ". Более того, надо (виртуально) разделить это поле тоже на два - "пример" и "документация" ("ДА|ДА"), и сделать 2 списка. [size=-2]------ Добавлено в 13:52 "ДА" и "НЕТ". Русский язык очень сильный, а вот "Да" применить в этом случае нельзя: Пример или "Есть" или "Нет" (но не "да есть", "да нет") |
|||
карма: 25 |
|
Ответов: 5446
Рейтинг: 323
|
|||
Tad, а нафига в примечания-то ? По задумке - примечания нужны для хранения пояснений. Например, стоит WorkFPC "Компилируется, но не работает". В примечаниях пояснение: "при создании копии тест вылетает по Runtime 217".
Tad писал(а): Русский язык очень сильный, а вот "Да" применить в этом случае нельзя: Пример или "Есть" или "Нет" (но не "да есть", "да нет")Что в лоб, что по лбу. |
|||
карма: 1 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
iarspider писал(а): а нафига в примечания-то iarspider писал(а): Что в лоб, что по лбу |
|||
карма: 25 |
|
Ответов: 3655
Рейтинг: 69
|
|||
iarspider, Вот посмотри как сдесь сделана фильтрация
[url]http://samouchka.net/engine/modules/imagepreview.php?image=http://samouchka.net/uploads/posts/1157720999_uchet_knig.jpg[/url] |
|||
карма: 0 |
|