Проблема со вставкой в таблицу, через QSqlTableModel |
Здравствуйте, гость ( Вход | Регистрация )
Проблема со вставкой в таблицу, через QSqlTableModel |
AD |
7.11.2008, 11:11
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Через SQL-запросы и QSQlQuery вставлять в таблицу данные удавалось, а вот с помощью QSqlTableModel почему-то нет. Кто знает, в чем ошибка?
Сообщение отредактировал AD - 7.11.2008, 11:12 |
|
|
sploid |
7.11.2008, 11:30
Сообщение
#2
|
Студент Группа: Участник Сообщений: 51 Регистрация: 26.2.2008 Из: Москва Пользователь №: 106 Спасибо сказали: 10 раз(а) Репутация: 1 |
я как-то так делал:
код не компилил, но идея думаю понятна |
|
|
AD |
7.11.2008, 11:52
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Спасибо. Но, к сожалению, не помогло!
|
|
|
sploid |
7.11.2008, 12:01
Сообщение
#4
|
Студент Группа: Участник Сообщений: 51 Регистрация: 26.2.2008 Из: Москва Пользователь №: 106 Спасибо сказали: 10 раз(а) Репутация: 1 |
может там есть какие обязательные поля, а ты их не заполняешь?
|
|
|
AD |
7.11.2008, 12:09
Сообщение
#5
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
|
|
|
AD |
7.11.2008, 13:22
Сообщение
#6
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Блин. Обнаружил что для последнего кода по каким-то причинам setValue не присваивает значения. В дебаггере вижу получаемую строку, где в VALUES выглядит таким образом:
Почему. Почему не проходит это? в чем ошибки? |
|
|
sploid |
7.11.2008, 14:15
Сообщение
#7
|
Студент Группа: Участник Сообщений: 51 Регистрация: 26.2.2008 Из: Москва Пользователь №: 106 Спасибо сказали: 10 раз(а) Репутация: 1 |
знаки вопроса заменяются значениями перед выполнением, а до этого ставятся нули.
http://doc.trolltech.com/4.4/qsqlquery.html раздел "Binding values using positional placeholders (version 1)" |
|
|
AD |
7.11.2008, 14:25
Сообщение
#8
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
знаки вопроса заменяются значениями перед выполнением, а до этого ставятся нули. http://doc.trolltech.com/4.4/qsqlquery.html раздел "Binding values using positional placeholders (version 1)" Так и что? Я ведь в дебаггер залезаю во время выполнения.... |
|
|
Litkevich Yuriy |
7.11.2008, 17:09
Сообщение
#9
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
AD, а зачам ты вообще табличную модель (QSqlTableModel) руками трогаешь? Соедени с представлением и пусть пользователь данные в представление вводит, если надо руками то и пользуй модель запросов (QSqlQuery)
|
|
|
AD |
7.11.2008, 17:14
Сообщение
#10
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Цитата(Litkevich Yuriy) AD, а зачам ты вообще табличную модель (QSqlTableModel) руками трогаешь? Соедени с представлением и пусть пользователь данные в представление вводит, если надо руками то и пользуй модель запросов (QSqlQuery) Так в этом и весь интерес, чтобы как можно меньше менять ручками. Менять руками целый запрос через QSqlQuery немного муторно (дизайн базы меняется довольно часто) (конечно, это временное явление) - то изменяются связи между таблицами, то данные из одной таблицы уходят в другую. Хотелось сделать так, чтобы потом можно было менять только имена таблиц и если что, имена атрибутов (параметров, полей) этих таблиц. |
|
|
Текстовая версия | Сейчас: 30.11.2024, 7:23 |