1 Востаннє редагувалося Betterthanyou (06.05.2016 14:15:54)

Тема: QT. SQLite. Обмежити розмір полів при вибірці.

Ніяк не вдається обмежити поля при вибірці (SELECT), я хочу поставити обмеження щоб поля не могли бути більше ніж 50 символів, або ж зробити так щоб не підвісала програма
Найшов тут приклад

SET TEXTSIZE 100
SELECT DocumentSummary FROM Production.Document

Але SQLite пише near "SET": syntax error: (ну бо це не T-SQL)

Мені потрібно за допомогою Qt

/*
S - це об'єкт мого класу в якому я роблю операції з БД
GetDB() - Вертає QSqlDatabase;
*/
//Створюю модель
    model = new QSqlTableModel(this,S.GetDB());
    model->setTable("T_scan");
    model->setEditStrategy(QSqlTableModel::OnManualSubmit);
    model->select();
//Вставляю в таблицю
    ui->tableView->setModel(model);

обмежити перше поле на 50 символів.

Або зробити обмеження за допомогою SQL запиту (я думаю model->select() можна спокійно замінити на власний запит)

Як можна зробити такі обмеження ? Ще раз повторю за допомогою Qt або SQL, таблиця назв. "T_scan" а поле назв. "_path_".

2

Re: QT. SQLite. Обмежити розмір полів при вибірці.

SELECT SUBSTR(DocumentSummary,50) FROM Production.Document
Подякували: Betterthanyou1

3

Re: QT. SQLite. Обмежити розмір полів при вибірці.

koala написав:
SELECT SUBSTR(DocumentSummary,50) FROM Production.Document

Так дякую, це допомогло.

Тільки там потрібно три параметра

Так не працює

SELECT SUBSTR(DocumentSummary,50) FROM Production.Document

Тут я знайшов опис

string вихідна рядок.
start_position позиція для початку витягу підрядка. Перша позиція в рядку завжди дорівнює 1.
length не є обов'язковим. Визначає кількість символів для вилучення. Якщо цей параметр не вказано, функція SUBSTR поверне всю рядок.

Тому на SQLite потрібно так писати

SELECT SUBSTR(DocumentSummary,1,50) FROM Production.Document

4

Re: QT. SQLite. Обмежити розмір полів при вибірці.

Ви спеціально не читаєте документацію до SQLite?
https://www.sqlite.org/lang_corefunc.html

Подякували: Betterthanyou1

5 Востаннє редагувалося Betterthanyou (06.05.2016 17:25:35)

Re: QT. SQLite. Обмежити розмір полів при вибірці.

koala написав:

Ви спеціально не читаєте документацію до SQLite?
https://www.sqlite.org/lang_corefunc.html

ні не спеціально

Це була випадковість, я її не як не міг знайти тому почав шукати просто по мові SQL

Подякували: koala1

6

Re: QT. SQLite. Обмежити розмір полів при вибірці.

Фраза "не зміг знайти документацію до SQLite" була б корисною в першому повідомленні.