Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
QSqlQuery - удалить запись
|
|||
|---|---|---|---|
|
#18+
Хочу организовать фильтр к БД, но не через запросы sql, а через QSqlQuery. В связи с этим меня интересует, существует ли способ удаления записи из QSqlQuery? Что-то типа такого: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 23:02 |
|
||
|
QSqlQuery - удалить запись
|
|||
|---|---|---|---|
|
#18+
Obsess, Через DELETE запрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2014, 23:53 |
|
||
|
QSqlQuery - удалить запись
|
|||
|---|---|---|---|
|
#18+
Obsess, Нет, нельзя. QSql Query и есть запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2014, 11:42 |
|
||
|
QSqlQuery - удалить запись
|
|||
|---|---|---|---|
|
#18+
Obsess, если тебе лень изучать SQL или просто не знаешь синтаксис то посмотри в сторону различных API для SQLBuilder-s. Возможно это облегчит твою жизнь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2014, 14:18 |
|
||
|
QSqlQuery - удалить запись
|
|||
|---|---|---|---|
|
#18+
NekZ Через DELETE запросMasterZiv прав, не получается. maytonObsess, если тебе лень изучать SQL или просто не знаешь синтаксис то посмотри в сторону различных API для SQLBuilder-s. Возможно это облегчит твою жизнь.Я знаю sql. Задача состоит именно в возможности реализовать фильтрацию на сороне клиента, а не составить запрос с условием. В случае sql-запросов к БД фильтрация будет происходить на стороне сервера, а в случае фильтрации через QSqlQuery на стороне клиента. Я хочу, чтобы это происходило на стороне клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 12:25 |
|
||
|
QSqlQuery - удалить запись
|
|||
|---|---|---|---|
|
#18+
ObsessЗадача состоит именно в возможности реализовать фильтрацию на сороне клиента, а не составить запрос с условием. Только не перестарайся, а то придешь к тому что SQL-сервер превратится в тормозную эмуляцию файл-сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 12:31 |
|
||
|
QSqlQuery - удалить запись
|
|||
|---|---|---|---|
|
#18+
On 22.05.2014 13:25, Obsess wrote: > В случае sql-запросов к БД фильтрация будет происходить на стороне > сервера, а в случае фильтрации через QSqlQuery на стороне клиента. Я > хочу, чтобы это происходило на стороне клиента. За каким ... ? Обычно все брятся за то, чтобы ровно наоборот... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 12:49 |
|
||
|
QSqlQuery - удалить запись
|
|||
|---|---|---|---|
|
#18+
ObsessЯ знаю sql. Задача состоит именно в возможности реализовать фильтрацию на сороне клиента, а не составить запрос с условием. В случае sql-запросов к БД фильтрация будет происходить на стороне сервера, а в случае фильтрации через QSqlQuery на стороне клиента. Я хочу, чтобы это происходило на стороне клиента. Тоесть если тебе надо выбрать 1 строку из миллиарда ты в базе извлекаешь миллиард строк, транслируешь их по сети к клиенту и потом показываешь только 1 строчку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 14:15 |
|
||
|
QSqlQuery - удалить запись
|
|||
|---|---|---|---|
|
#18+
maytonТоесть если тебе надо выбрать 1 строку из миллиарда ты в базе извлекаешь миллиард строк, транслируешь их по сети к клиенту и потом показываешь только 1 строчку?Да, именно так! В моей задаче пользователь сначала смотрит на весь запрос, а потом из этого запроса по своим критериям постепенно и итерационно отфильтровывает то, что ему не нужно. NekZКак это не получается? Выходит документация Qt врёт. Кроме удаления записи из запроса (не из БД) таким образом ничего другого не нашёл Код: plaintext 1. но это не работает. Значит документация врёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 16:09 |
|
||
|
QSqlQuery - удалить запись
|
|||
|---|---|---|---|
|
#18+
Obsess, возможно в твоей постановке есть здравый смысл. Но никогда не стоит расчитывать на то что выборка целой таблицы из БД упадёл целиком на клиента и он будет хорошо себя при этом чувствовать. Я не програмиирую на Кют и я не знаю как устрое QSqlQuery. Но было-бы очень даже bad-style копировать в оперативку кусок выборки. Хватит того что они в гридах лежат. И того много. Так что никто не делает брадт. Вообще-вообще никто. Делай повторный запрос с другими параметрами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 16:23 |
|
||
|
QSqlQuery - удалить запись
|
|||
|---|---|---|---|
|
#18+
> Я не програмиирую на Кют и я не знаю как устрое QSqlQuery. Оно устроено тупо и просто: это запрос, текст которого ты задаёшь, и потом этот запрос выполняется, получаются наборы данных. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 17:01 |
|
||
|
QSqlQuery - удалить запись
|
|||
|---|---|---|---|
|
#18+
ObsessmaytonТоесть если тебе надо выбрать 1 строку из миллиарда ты в базе извлекаешь миллиард строк, транслируешь их по сети к клиенту и потом показываешь только 1 строчку?Да, именно так! В моей задаче пользователь сначала смотрит на весь запрос, а потом из этого запроса по своим критериям постепенно и итерационно отфильтровывает то, что ему не нужно.Как пользователь видит данные? Через QTableView привязанного напрямую к QSqlQuery? Тогда пути два: 1) Замени QTableView на QTableWidget. После запроса, вручную копируешь данные из QSqlQuery в QTableWidget. 2) Замени модель у QTableView на какую-нибудь QStandardtItemModel и скопируй данные из QSqlQuery в нее. В любом случае, удалять на клиенте строки из QSqlQuery нельзя, можно только выкачать все данные на клиента в локальный массив (собственный или предоставленный Qt) и удалять данные из него. Но вообще, как уже говорили - так никто не делает. Пользователь конечно может поудалять кучку строк из своего локального хранилища данных. А дальше что? Первый де перезапрос данных эти строки вернет. Другие пользователи эти удаления не увидят. Логичнее было-бы при удалении перемещать удаленные строки из основной таблицы в специальную таблицу "удаленных" или просто помечать эти строки как "удаленные" в основном хранилище и не показывать. А потом отсылать команду на удаление этих строк на сервер. А если реального удаления вообще ненужно, то пусть пользователи используют фильтры - изменились фильтры произошел перезапуск QSqlQuery. В общем, мы все тебе сильно советуем подумать и понять что-же тебе нужно в реальности. Удалять строки на клиенте в том виде как ты это желаешь это кривое решение непродуманной системы. Пока твоя задача вызывает только недоумение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 18:20 |
|
||
|
QSqlQuery - удалить запись
|
|||
|---|---|---|---|
|
#18+
White OwlObsessпропущено... Да, именно так! В моей задаче пользователь сначала смотрит на весь запрос, а потом из этого запроса по своим критериям постепенно и итерационно отфильтровывает то, что ему не нужно.Как пользователь видит данные? Через QTableView привязанного напрямую к QSqlQuery? Тогда пути два: 1) Замени QTableView на QTableWidget. После запроса, вручную копируешь данные из QSqlQuery в QTableWidget. 2) Замени модель у QTableView на какую-нибудь QStandardtItemModel и скопируй данные из QSqlQuery в нее. В любом случае, удалять на клиенте строки из QSqlQuery нельзя, можно только выкачать все данные на клиента в локальный массив (собственный или предоставленный Qt) и удалять данные из него. ИМХО лучше уж QSortFilterProxyModel использовать, но миллиарды записей тащить на клиент и фильтровать тяжело будет, для этого и существуют СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2014, 13:56 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38647060&tid=2019440]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
157ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 257ms |

| 0 / 0 |
