Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.223.196.211] |
|
Сообщ.
#1
,
|
|
|
Раньше работал с локальной базой access и пользовался фильтром
form1.ADOTable1.Filtered:=false; form1.ADOTable1.Filter:='smena LIKE ' + #39 + '1'+ #39; form1.ADOTable1.Filtered:=true; в результате я получал отфильтрованную по условию таблицу теперь перехожу на удалённую базу MYSQL на сервере. При выполнении данного кода я получаю НОЛЬ результатов, хотя в таблице есть записи, удовлетворяющие этим условиям. Как с помощью ADOTable отфильтровать записи на удалённой MYSQL? |
Сообщ.
#2
,
|
|
|
Вот такая строка фильтрует
form1.ADOTable1.Filter:='(smena LIKE ''' + '1' + '%'')'; ... но фильтрует не как ТОЧНОЕ_СОВПАДЕНИЕ, а как НАЧИНАЕТСЯ_С а мне нужно по точному совпадению. |
Сообщ.
#3
,
|
|
|
Для точного совпадения используй оператор =._
|
Сообщ.
#4
,
|
|
|
Забудь про TADOTable и научись пользоваться TADOQuery!
|
Сообщ.
#5
,
|
|
|
Цитата MIF @ Для точного совпадения используй оператор =._ а можно пример строки, а то не понял где это вставлять |
Сообщ.
#6
,
|
|
|
Решено.
На стороне БД нужно было заменить тип поля TEXT на TINYTEXT После этого начало нормально фильтровать по полному совпадению |
Сообщ.
#7
,
|
|
|
Цитата dreyqq @ Оригинальное решение. Судя по названиям типов данных ты поле длинного текста (а короче - BLOB-поле) поменял на строку (VARCHAR). Наверное разработчик БД о таком варианте даже не думал.На стороне БД нужно было заменить тип поля TEXT на TINYTEXT ЗЫ - или разработчик БД - ты сам??? |
Сообщ.
#8
,
|
|
|
Цитата LMM @ Это база mysql под debian8. Поднимал базу сам. Это через phpmyadmin в настройках типа поля. |