Tad писал(а):
SQLite.Like не "говорит" на русском.
Более того - требуется экранирование текстовых данных, чтобы служебные символы типа кавычек воспринимались интерпретатором как текст, а не команда. Вот мой вариант экранирования (только запрос надо адаптировать для своего проекта):
Add(FormatStr,16448783,161,385)
{
DataCount=1
Mask="SELECT FIO, pwd, tablenum, role FROM users WHERE FIO = '%1'"
link(Str1,2052291:GetData,[(167,293)(461,293)])
}
Add(ComboBox,13392093,448,168)
{
@Color=65365
Left=140
Top=55
Width=202
Height=21
Name="ВыборИнтЕТО"
Text=""
DataType=1
ReadOnly=0
}
Add(MultiElementEx,2052291,455,224)
{
@Hint=#53:Экранирование SQL: \x00, \n, \r, \, ', " и \x1a [26]|
link(Str,13392093:String,[])
}
BEGIN_SDK
Add(EditMultiEx,7033570,21,21)
{
VarCount=#29:GetData=Экранированные данные|
DataCount=#28:Str=Строка для экранирования|
Width=377
link(GetData,14015396:GetData,[(27,189)(41,189)])
}
Add(EventFromData,14015396,35,126)
{
link(onEvent,4748499:doReplace,[])
}
Add(Replace,4748499,77,126)
{
@Hint=#96:Замена одного \ на два. Указано три, т.к. в самом hiasm два \ становятся одним (один экранирует)|
SubStr="\"
DestStr="\\\"
link(onReplace,14853555:doReplace,[])
link(Str,7033570:Str,[(83,74)(27,74)])
}
Add(Replace,14853555,119,126)
{
SubStr="'"
DestStr="\'"
link(onReplace,10315989:doReplace,[])
}
Add(Replace,10315989,161,126)
{
SubStr="""
DestStr="\""
link(onReplace,9917010:doReplace,[])
}
Add(Replace,9917010,203,126)
{
SubStr="\0"
DestStr="\\0"
link(onReplace,963304:doReplace,[])
}
Add(Replace,963304,245,126)
{
SubStr="\r"
DestStr="\\r"
link(onReplace,4668297:doReplace,[])
}
Add(Replace,4668297,287,126)
{
SubStr="\n"
DestStr="\\n"
link(onReplace,15004466:doReplace,[])
}
Add(Replace,15004466,329,126)
{
SubStr="\26"
DestStr="\\Z"
link(onReplace,14015396:doData,[(373,132)(373,120)(23,120)(23,132)])
}
END_SDK
Tad писал(а):
Применять кодер\декодер в\из UTF8 по каждому чиху как-то не тянет.
А вот это не проканает?
https://forum.hiasm.com/post/303722 Правда, оно для mysql, не знаю, будет ли работать для lite, просто попробуй.
Tad писал(а):
Может есть идеи ?
Tad, а задача-то какая? Ну, выпал список из 200 книг - а дальше-то что требуется?