Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

sqlite-manager-delphi

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

SQLite Manager для Delphi

Standalone приложение для управления SQLite базами данных на Delphi VCL (Windows). Порт расширения SQLite Manager для Firefox.

Репозиторий: https://github.com/OlegChernavin/sqlite-manager-delphi

Быстрый старт

bash
git clone https://github.com/OlegChernavin/sqlite-manager-delphi.git
cd sqlite-manager-delphi
  1. Установите SynEdit в Delphi.
  2. Положите sqlite3.dll рядом с проектом или в PATH (см. ниже).
  3. Откройте SQLiteManager.dpr и соберите проект.

Подробнее: CONTRIBUTING.md, чеклист публикации: PUBLISH_CHECKLIST.md.

Требования

  • Delphi 10.4 (Sydney) или новее (протестировано на 10.4.2)
  • Windows 10/11 (Win32 / Win64)
  • SynEdit — пакет IDE для SQL-редактора (THIRD_PARTY.md)
  • sqlite3.dll — скачать отдельно (sqlite.org), в репозиторий не входит

Структура проекта

pascal
sqlite-manager-delphi/
????????? SQLiteManager.dpr / .dproj
????????? MainForm.pas / .dfm       # ?????????????? ??????????, SQL-????????????????
????????? DBModule.pas              # ???????????? ?? SQLite
????????? SQLite3.pas               # ?????????????? sqlite3.dll
????????? ImportExport.pas          # ????????????/??????????????
????????? AIService.pas, AIProviders.pas, AIOptionsForm.*  # AI (??????????????????????)
????????? SearchForm, RowEditForm, CreateTreeForm, ???       # ??????????????
????????? PROJECT_CONTEXT.md        # ?????????????? ???????????????? ?????? ??????????????????????????
????????? THIRD_PARTY.md            # SynEdit, sqlite3.dll
????????? LICENSE                   # MPL 1.1

Установка

Шаг 1: Скачайте SQLite3.dll

Если у вас ещё нет sqlite3.dll, скачайте его:

  1. Перейдите на https://www.sqlite.org/download.html
  2. Скачайте Precompiled Binaries for Windows:
    • sqlite-dll-win64-x64-*.zip (для 64-bit)
    • sqlite-dll-win32-x86-*.zip (для 32-bit)
  3. Распакуйте sqlite3.dll в:
    • Папку проекта, или
    • C:\Windows\System32 (для 64-bit), или
    • C:\Windows\SysWOW64 (для 32-bit)

Шаг 2: Откройте проект в Delphi

  1. Запустите Delphi 10.4.2 Alexandria
  2. Откройте файл SQLiteManager.dpr
  3. Соберите проект: Project → Build или Ctrl+F9

Шаг 3: Запустите приложение

Нажмите F9 для запуска в режиме отладки или найдите .exe файл в папке проекта.

Сборка исполняемого файла

Компиляция

pascal
Project ??? Build

Или используйте командную строку:

batch
msbuild SQLiteManager.dproj /t:Build

Настройки компилятора

Рекомендуемые настройки в Project → Options:

  • Building → Output:
    • Output directory: .\bin\
    • Unit output directory: .\dcu\
  • Building → Packages:
    • Link with runtime packages: No (для standalone exe)
  • Building → Debugging:
    • Debug information: No (для релиза)
    • Local symbols: No
  • Delphi Compiler → Linking:
    • Map file: Detailed
    • Use imported library: Yes

Создание установщика и релиз на GitHub

Готовый скрипт: installer.iss. Exe после сборки: Win32\Release\SQLiteManager.exe.

powershell
# Release + установщик (нужны Delphi, sqlite3.dll x86, Inno Setup 6)
.\scripts\build-installer.ps1

# Или только установщик, если exe уже собран:
& "${env:ProgramFiles(x86)}\Inno Setup 6\ISCC.exe" installer.iss

Установщик: installer\SQLiteManagerSetup-1.0.0-Win32.exe — не коммитить, выложить в GitHub Releases.

Inno Setup 6.3+: не пишите ArchitecturesAllowed=x86 — это только 32-bit Windows. На 64-bit Win10/11 установщик выдаст «программа не поддерживает версию Windows». Для Win32-приложения оставьте директиву по умолчанию (x86compatible) или уберите строку.

Полная инструкция: RELEASING.md (тег v1.0.0, gh release create, чеклист).

Возможности

Реализовано

✅ Создание новой базы данных
✅ Открытие существующей базы
✅ Просмотр структуры БД (таблицы, представления, индексы, триггеры)
✅ Просмотр данных с пагинацией
✅ Выполнение SQL запросов
✅ Создание таблиц через диалог
✅ Экспорт в CSV, SQL, XML
✅ Импорт из CSV, SQL, XML
✅ Настройки приложения
✅ Последние открытые базы
✅ Создание представлений
✅ Создание триггеров
✅ Показ таблиц с другой БД (через ATTACH)
✅ История БД неверно работает с пробелом - считает такие пути за раздельные записи

Горячие клавиши

Клавиши Действие
Ctrl+N Новая база данных
Ctrl+O Открыть базу данных
Ctrl+W Закрыть базу данных
F5 Обновить
Ctrl+; Выполнить SQL
Alt+F4 Выход

Настройки

Настройки хранятся в %APPDATA%\OlegChernavin\SQLiteManager\SQLiteManager.ini (при первом запуске копируется из папки exe, если файл там был).

ini
[Options]
ConfirmDrop=1
ConfirmDelete=1
ReconnectLastDb=0
MaxRecent=10
DefaultLimit=100
ShowRowNumbers=1
HighlightSQL=1
CSVDelimiter=0
CSVHeaders=1
BlobDisplay=0

Архитектура

SQLite3.pas

Низкоуровневая обёртка над функциями sqlite3.dll:

  • Динамическая загрузка библиотеки
  • Прямой вызов API SQLite3

DBModule.pas

Высокоуровневый класс TSQLiteHandler:

  • Управление подключением
  • Выполнение запросов
  • Импорт/экспорт
  • Транзакции

MainForm.pas

Главная форма приложения:

  • Меню и панель инструментов
  • Дерево структуры БД
  • Таблицы для просмотра данных
  • SQL редактор

Отладка

Включение логирования

Добавьте в DBModule.pas:

delphi
const
  DEBUG_MODE = True;
  
procedure TSQLiteHandler.Log(const AMsg: string);
begin
  if DEBUG_MODE then
    OutputDebugString(PChar(AMsg));
end;

Обработка ошибок

Все ошибки сохраняются в свойство LastError:

delphi
if not FDB.ExecuteSQL(SQL).Success then
  ShowMessage('Error: ' + FDB.LastError);

Распространённые ошибки

"Cannot load sqlite3.dll"

Решение:

  1. Убедитесь, что sqlite3.dll находится в той же папке, что и .exe
  2. Проверьте разрядность DLL (32-bit для Win32, 64-bit для Win64)

"Database is locked"

Решение:

  • Закройте другие приложения, использующие эту БД
  • Увеличьте timeout: sqlite3_busy_timeout(FDB, 10000)

"Access violation"

Решение:

  • Проверьте, что база открыта перед запросом
  • Освобождайте ресурсы в finally блоках

Лицензия

MPL 1.1 (Mozilla Public License). См. также THIRD_PARTY.md.

Ссылки

Версии

1.0.0 (2026)

  • Первоначальный релиз
  • Базовый функционал управления БД
  • Импорт/экспорт CSV, SQL, XML
  • Настройки приложения
  • Редактирование записей
  • История SQL запросов