crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Проблемы с выборкой из БД (Paradox), Unable to find table <NAME>
AD
  опции профиля:
сообщение 29.11.2010, 11:18
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Подключение к БД удалось. Но теперь проблема, которую я не понимаю просто:
QSqlTableModel _table_model;        ///< модель таблицы SQL, из которой идет выборка


_table_model.setTable(table_name);


bool select = _table_model.select();
QSqlError et(_table_model.lastError());
QString e(_table_model.lastError().text());

В итоге в строчке e получаем сообщение "Unable to find table Filename". Объект et содержит тип ошибки - StatementError. Что не так с запросом? Почему он не выполняет его? При этом следующие строчки:
QSqlQuery query;
    QString query_string(QString("insert into Filename(Name) values('%1')").arg(chart_names.at(row)));
    query.prepare(query_string);
    bool res = query.exec();

Один раз выполняются успешно - стабильно. В чем возможна ошибка?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
panter_dsd
  опции профиля:
сообщение 29.11.2010, 11:25
Сообщение #2


Жаждущий знаний
***

Группа: Участник
Сообщений: 254
Регистрация: 1.1.2009
Из: Санкт-Петербург
Пользователь №: 474

Спасибо сказали: 32 раз(а)




Репутация:   3  


1. Файл точно есть?
2. Один раз успешно, а потом ошибки?
3. Name в парадоксе случайно не зарезервировано?
4. Селект запросы тоже не работают?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 29.11.2010, 11:43
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(panter_dsd @ 29.11.2010, 11:25) *
1. Файл точно есть?
2. Один раз успешно, а потом ошибки?
3. Name в парадоксе случайно не зарезервировано?
4. Селект запросы тоже не работают?

1) Точно есть.
2) Да.
3) У меня БД называется Filename
3) Как ни странно, селект-запрос работает. Хотелось узнать причину, почему не работает запрос через модель.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
panter_dsd
  опции профиля:
сообщение 29.11.2010, 12:14
Сообщение #4


Жаждущий знаний
***

Группа: Участник
Сообщений: 254
Регистрация: 1.1.2009
Из: Санкт-Петербург
Пользователь №: 474

Спасибо сказали: 32 раз(а)




Репутация:   3  


2. Какие ошибки?
3. Я имел ввиду имя поля Name. Попробуй заменить его на что-то типа name_ (кстати, лучше все делать в одном регистре).
4. Интересно... А если QSqlQueryModel использовать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 29.11.2010, 12:25
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(panter_dsd @ 29.11.2010, 12:14) *
2. Какие ошибки?
3. Я имел ввиду имя поля Name. Попробуй заменить его на что-то типа name_ (кстати, лучше все делать в одном регистре).
4. Интересно... А если QSqlQueryModel использовать?

2. Да там ошибки как раз связаны с этой выборкой! :) Т.е. если решить проблему с функцией select модели, то все разрешится.
3. Вряд ли поможет, но попробую.
4. Не знаю. Вообще, модель QSqlTableModel является наследником от QSqlQueryModel.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
panter_dsd
  опции профиля:
сообщение 29.11.2010, 13:31
Сообщение #6


Жаждущий знаний
***

Группа: Участник
Сообщений: 254
Регистрация: 1.1.2009
Из: Санкт-Петербург
Пользователь №: 474

Спасибо сказали: 32 раз(а)




Репутация:   3  


4. Наследником-то она является... Ты точно знаешь какой вид запроса она делает? Лучше уже все через QSqlQueryModel проконтролировать и, если все с ней работает, разбираться на более низком уровне.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 29.11.2010, 15:09
Сообщение #7


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Разобрался. В конструкторе я задавал QSqlDatabase, который на данный момент не был создан. Сделал инициализацию QSqlDatabase раньше и все заработало.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 15.1.2025, 13:17