Когда я использую это в Delphi, вместо имени таблицы отображается «(Wideemo)». Как мне заставить это отображать имя таблицы в Delphi 10.4?
SELECT DISTINCT tbl_name,
CASE WHEN stat is null THEN
0
ELSE
cast(stat as INT)
END AS numrows
FROM sqlite_master m
LEFT JOIN sqlite_stat1 stat on m.tbl_name = stat.tbl
WHERE m.type='table' AND m.tbl_name not LIKE 'sqlite_%'
ORDER BY 1
Для тех, кто написал плохо отформатированный код, это именно тот код, который я использовал (написал), когда гуглил это. Теперь, @Remy Lebeau, я создал запрос FireDac и поместил эти строки в строки SQL. Когда я помещаю этот же код в редактор SQL окна редактора SQL SQLiteStudio, он показывает каждую таблицу в одном столбце и количество записей во втором. Однако в delphi он показывает (WIDEMEMO) в одном столбце и количество записей во втором.





Delphi не "показывает". Я думаю, вы используете какой-то компонент TDBGrid, чтобы увидеть результат запроса в приложении.
Основная проблема здесь в том, что тип поля "tbl_name" - ftWideMemo - это означает, что эти поля потенциально могут содержать много данных, поэтому TDBGrid не отображает этот тип поля по умолчанию.
Чтобы исправить это, вы можете сделать следующее:
В результате вы увидите реальное содержимое этого поля:
P.S. Постарайтесь четко сформулировать свой вопрос и добавить все необходимые детали, потому что прямой ответ на ваш текущий вопрос - "FDQuery1.FieldByName('tbl_name').asString". Надеюсь, я догадываюсь, что вы хотели спросить.
Спасибо @Александр Морозевич. Это то, что я искал здесь, а не плохо отформатированные комментарии... Да, я смог сделать это с помощью запроса, который я сделал, и изменил поле с dvClass на dvFull, и я получил имена таблиц.
Что вы используете для выполнения этого запроса?