Здравствуйте, гость ( Вход | Регистрация )
Dimix | Дата 13.12.2010, 2:07 |
Возникла проблема такого характера. Нужно изменить запись в базе данных. Пример. ID | NAME | LOOK 1 | TOM | 1 2 | JON | 0 Поле LOOK это Мне нужно чтоб когда я посмотрю пользователя JON его LOOK стал 1 Я думал просто забирать все данные и записывать их по новому а удалять Помогите! |
|
512es | Дата 10.12.2010, 22:14 |
Dimix, почитай доки про склайт. совершенно безопасно сохранять постоянное подключение к бд. мало того, база данных умеет работать и с несколькими пользователями одновременно. это тебе не xml-ки. кроме того, что то мне подсказывает что создание множества баз данных в твоём случае тоже не обосновано. вот напимер. в моём проекте всего одна база склайта, причём, подключаюсь я к одному и тому же файлу двумя коннектами в разных потоках. тоесть, можно сказать, два пользователя, которые постоянно пишут и читают. размер базы планируется сотни м.б. более десяти таблиц. и всё отлично работает! советую пересмотреть концепцию) |
|
Dimix | Дата 10.12.2010, 17:55 |
Цитата В БД существует поле Дата. Как сделать фильтр по заданному пользователем диапазону. Пример: ___Дата____|К-во|_Чего_ 01, 01, 2010 | 100 | литров 06, 02, 2010 | 200 | литров 01, 01, 2011 | 300 | литров Вывести с 01, 02, 2010 по 01, 06, 2010 года Тип данных у поля date DATA.
|
|
Dimix | Дата 10.12.2010, 13:17 |
Цитата Мне показалось или ты и правда пытаешься создавать и удалять соединения с бд каждый раз? почитай мой пример ещё раз внимательнее Я и вправде создаю и удаляю каждый раз драйвер БД. Почему я так решил! У меня работа с данными пользователь может заполнять и удалять их (я сделал как 100% вариант сохранения данных так как соединение и драйвер БД являются отруюленными ошибки при аварийном завершении не будет) Я новичек и еще несильно понимаю как правильно... У меня срочный вопрос. В БД существует поле Дата. Как сделать ильтр по заданному пользователем диапазону. Пример: ___Дата____|К-во|_Чего_ 01, 01, 2010 | 100 | литров 06, 02, 2010 | 200 | литров 01, 01, 2011 | 300 | литров Вывести с 01, 02, 2010 по 01, 06, 2010 года |
|
512es | Дата 8.12.2010, 21:05 |
1) склайту не нужно указывать HostName, UserName и Password 2) в чём суть функции maindbCreate()? по сути она вообще ничего не делает 3) maindbCreate.lastError().text() в maindbCreate() это вообщем то возвращаемая переменная. в твоём примере не используется. 4) не правильно:
Для подстановки значений в запрос есть специальная функция prepare():
5)
инсертить так как ты делаешь в эту таблицу не получится. id при вставке не задаёшь. возможно ты хотел сделать так:
6) создаёшь базу QSqlDatabase::addDatabase("QSQLITE"); а удаляешь QSqlDatabase::removeDatabase("QSQLITE"); -- так нельзя. при создании не указываешь имя соединения, только драйвер. а удаляешь по неизвестному имени соединения "QSQLITE". по имени драйвера то нельзя удалять. должно ругаться на ошибки. 7) мне показалось или ты и правда пытаешься создавать и удалять соединения с бд каждый раз? почитай мой пример ещё раз внимательнее |
|
Dimix | Дата 8.12.2010, 20:55 |
Почему не соотвецтвует вопросу . Я же не говорил для чего мне нужно узнать выделенную строку. А по коду вроде ясно что view это аргумент QTableView.
Незнаю я не вижу в коде ненужных действий. P. S. Все время програмировал на Delphi поэтому я новичек в Qt да и впринципе в С++. Может логика и неправильная но во всяком случае я другого решения не нашел. А текущий пример работает (ну пока проблем небыло ). |
|
512es | Дата 8.12.2010, 20:40 |
Dimix, если честно вообще ничего в твоём примере не понял.. советую перечитать его (код) ещё раз самому и попытаться представить логику. что и как делается. очень много противоречий и ненужных действий.. | |
Litkevich Yuriy | Дата 8.12.2010, 20:30 |
Разобрался это не соответствует вопросу. так ты удалишь выделенную строку.QSqlTableModel model; model.setTable("coming"); model.select(); model.removeRow(view->currentIndex().row()); |
|
Dimix | Дата 8.12.2010, 16:57 |
Вопрос возник такого плана. Как получить выделенную строку в QTableView? Разобрался
|
|
Dimix | Дата 8.12.2010, 15:56 |
наверное, не зря ругается, и так оно и есть Попробуй ui->editCreateName->text() Я эту проблему решил вот так
и т.п. Вопрос возник такого плана. Как получить выделенную строку в QTableView? |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 11.12.2024, 3:53 |