Вверх ↑
Этот топик читают: Гость
Ответов: 301
Рейтинг: 11
#181: 2010-10-07 20:59:01 ЛС | профиль | цитата
ser_davkin писал(а):
Помогите пожалуйста code_20940.txt

Описание лучше в пост. а прогу - такую чтоб хотя-бы по одному слову искала. и результат в таблице.
карма: 0

0
Ответов: 1535
Рейтинг: 176
#182: 2010-10-07 22:37:42 ЛС | профиль | цитата
Столбeц text у меня состоит из описания (неограниченный текст). Не знаю как сформировать SQL запрос на множественный поиск в этом столбце. Например, есть строка, которая в столбце text имеет длинное описание чего либо. Я формирую поиск "Пестики, тычинки, пыльца" и программа начинает поиск. Если в столбце есть совпадение на все эти слова, то программа запоминает данную стоку.
code_20942.txt
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
файлы: 1code_20942.txt [2.7KB] [244]
Ответов: 5446
Рейтинг: 323
#183: 2010-10-07 22:52:50 ЛС | профиль | цитата
ser_davkin, как-то так:
SELECT * FROM <table> WHERE <text> LIKE "%тычинки%" OR <text> LIKE "%пестики%" OR <text> LIKE "%пыльца%"

Посмотри в теме про модули sqlite, там вроде обсуждался вопрос полнотекстового поиска (full-text search)
карма: 1

0
Ответов: 1535
Рейтинг: 176
#184: 2010-10-07 23:00:21 ЛС | профиль | цитата
iarspider, я немного запоздал с ответом, но я нашёл, вернее догадался, правда вместо OR, я применил AND.
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 1891
Рейтинг: 110
#185: 2010-10-07 23:00:59 ЛС | профиль | цитата
ser_davkin, посмотри FTS3, там есть возможность поиска определенных слов в тексте. Там же есть и примеры использования.
карма: 0
%time%
0
Ответов: 1535
Рейтинг: 176
#186: 2010-10-09 11:24:04 ЛС | профиль | цитата
Следующий вопрос, как отменить при этом чувствительность по регистру?
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 16884
Рейтинг: 1239
#187: 2010-10-09 12:16:01 ЛС | профиль | цитата

PRAGMA case_sensitive_like = boolean; (False, True)
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1535
Рейтинг: 176
#188: 2010-10-09 20:27:32 ЛС | профиль | цитата
Tad, а как или где этот код прописать, ну или как применить его к схеме? Помоги!

Add(Edit,4064273,196,133)
{
Width=225
Height=18
Align=5
Hint="Поиск караоке по содержанию текста"
HintManager="parent.parent.parent.Infomain"
Text=""
Alignment=2
link(onChange,5041147:doReplace,[])
}
Add(Hub,5800859,497,133)
{
link(onEvent1,4064273:doText2,[(544,139)(544,108)(170,108)(170,146)])
link(onEvent2,7666349:doEvent1,[])
}
Add(If_else,6667145,385,133)
{
Type=5
link(onTrue,15530624:doValue,[])
}
Add(Memory,15530624,441,133)
{
link(onData,5800859:doEvent1,[])
}
Add(Replace,5041147,245,133)
{
SubStr=" "
DestStr=" "
link(onReplace,6524215:doCompare,[])
}
Add(If_else,6524215,287,133)
{
Type=5
Op2=String()
link(onTrue,13917985:doCompare,[])
}
Add(If_else,13917985,336,133)
{
Type=5
Op2=String( )
link(onTrue,6667145:doCompare,[])
}
Add(Str_Enum,10756973,588,189)
{
Delimiter=" "
link(onEnum,7543260:doStrCat,[(628,195)(628,139)])
link(onEndEnum,5998552:doDelete,[])
}
Add(Hub,7666349,553,140)
{
link(onEvent1,10997232:doClear,[])
link(onEvent2,10756973:doEnum,[(577,153)(577,195)])
}
Add(GlobalVar,15637921,847,168)
{
Name="db"
}
Add(SQLite_Query,16696810,847,196)
{
link(dbHandle,15637921:Var,[])
}
Add(StrCat,8879852,784,196)
{
Str1="PRAGMA case_sensitive_like = False; \r\nSELECT * FROM tab1 where "
link(onStrCat,16696810:doQuery,[])
}
Add(StrCat,7543260,644,133)
{
Str2="%' AND "
link(onStrCat,5678591:doStrCat,[])
}
Add(StrCat,5678591,686,133)
{
Str1="name LIKE '%"
link(onStrCat,10997232:doStrCat,[])
}
Add(StrCat,10997232,735,133)
{
Point(doClear)
link(Str1,638460:Var1,[(741,121)(729,121)(729,177)])
}
Add(GetDataEx,638460,728,172)
{
Angle=1
link(Data,10997232:Result,[(741,177)])
}
Add(Delete,5998552,728,196)
{
Count=5
Direction=1
link(onDelete,8879852:doStrCat,[])
link(Str,638460:Var2,[])
}


карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 5446
Рейтинг: 323
#189: 2010-10-09 21:14:09 ЛС | профиль | цитата
ser_davkin, это SQL-запрос. Выполнить после открытия базы. Чтобы не было лишних вопросов:
Выключить чувствительность к регистру:
 PRAGMA case_sensitive_like = False;

Включить обратно:
 PRAGMA case_sensitive_like = True;

карма: 1

0
Ответов: 1535
Рейтинг: 176
#190: 2010-10-09 21:28:04 ЛС | профиль | цитата
Придерживаясь интуиции, я так и делал, но судя по сему, была ошибка, буду пробывать дальше.
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 16884
Рейтинг: 1239
#191: 2010-10-09 23:37:18 ЛС | профиль | цитата
PRAGMA case_sensitive_like = boolean;

The default behavior of the LIKE operator is to ignore case for ASCII characters. Hence, by default 'a' LIKE 'A' is true. The case_sensitive_like pragma installs a new application-defined LIKE function that can change this behavior. When case_sensitive_like is enabled, 'a' LIKE 'A' is false but 'a' LIKE 'a' is still true.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1891
Рейтинг: 110
#192: 2010-10-10 00:03:35 ЛС | профиль | цитата
ser_davkin писал(а):
Придерживаясь интуиции, я так и делал, но судя по сему, была ошибка, буду пробывать дальше.


ser_davkin, надо не интуиции придерживаться, а читать документацию.
карма: 0
%time%
0
Ответов: 1535
Рейтинг: 176
#193: 2010-10-10 23:19:29 ЛС | профиль | цитата
Кто знает, как в SQLite_OBJ можно переключать чувствительность к регистру?

http://hiasm.googlecode.com/svn/elements/delphi/code/SQLiteObj

карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 16884
Рейтинг: 1239
#194: 2010-10-10 23:43:19 ЛС | профиль | цитата
так -же
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1535
Рейтинг: 176
#195: 2010-10-11 08:26:14 ЛС | профиль | цитата
Ничего не получается и документацию вашу перечитал, а в итоге ничего, помогите уже!
code_20970.txt
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
файлы: 1code_20970.txt [3.6KB] [243]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)