Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: как создать базу данных и затем осуществлять к ней запросы  (Прочитано 5322 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн art19

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
как создать базу данных и затем осуществлять к ней запросы в QT.
я создавал базу данных MySQl, так как показано здесь

http://www.intuit.ru/department/database/mysql/3/1.html

но я не могу разобраться как подключить созданную базу данных QT.в целом даже сам файл созданной бд мне не удалось найти в системе.
подскажите, пожалуйста, как создать базу данных, чтобы можно было ее использовать в QT. или скажите как найти файл созданной бд в системе.

Axa-Ru

  • Гость
« Последнее редактирование: 29 Марта 2012, 15:51:27 от Axa-Ru »

Оффлайн art19

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
а как создать базу данных, хотя бы с одной таблицей,к которой затем можно осуществить запрос?

Axa-Ru

  • Гость
Я чуть чуть гуглом поработаю  ;)

http://unixforum.org/index.php?showtopic=107487

Оффлайн art19

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
все сделал как указано. с базой соединяется, но выдает ошибку при запросе: нет такой таблицы в базе данных.
подключение к базе данных:
bool createConnection()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("employees");
    if(!db.open())
    {
        return false;
    }
    return true;
}
..
Запрос:
if( createConnection())
{           
         QString str = "SELECT f_name FROM employee_data";
         QSqlQuery query;
         query.exec(str);
         qDebug()<<query.lastError().text();
         ...
}

Ошибка:  "no such table: employee_data Unable to execute statement"
хотя в mysql следующие команды показывают, что такая таблица(employee_data)  существует
USE employees;
SHOW TABLES ;

что я делаю не так?

Axa-Ru

  • Гость
А когда из Qt запрос делаете сервер MySQL запущен?

Оффлайн art19

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
нет.закрываю его следующей командой
Цитировать
quit;

еще вопрос,программа сама найдет в системе данную базу данных?  не требуется как-то явно добавить базу данных в проект?

Axa-Ru

  • Гость
Этта. Запросы к базе MySQL данных обслуживает сервер базы данных. Если он не запущен, то все ваши запросы уходят в пустоту.

Оффлайн art19

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
MySql я запускал через консоль. Программу пишу в QT Creator.
как правильно соединить MySQL и Qt?
я вроде все правильно делал. драйвер указал.
Цитировать
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
что еще нужно?
если MySQl в консоли запустить, то программа все равно не работает. как правильно все нужно сделать?

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5589
  • Все по палатам!
    • Просмотр профиля
QSQLITE - это SQLite база данных, а никак не MySQL
Извините, я все еще учусь

Оффлайн art19

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
если использовать драйвер QMYSQL или QMYSQL3 --- не соединяют с базой.

Axa-Ru

  • Гость
Вот есть книжка про Qt: http://cartan.cas.suffolk.edu/oopdocbook/html/

Там отдельная глава про работу с sql : http://cartan.cas.suffolk.edu/oopdocbook/html/qmysqldatabase.html

Оффлайн art19

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Всем спасибо.  думаю, тема закрыта.
ответ на  вопрос: 
Цитировать
что я делаю не так?
и
Цитировать
что еще нужно?
,- следующий:
При подключении к базе данных, нужно обязательно указать имя юзера и пароль.
bool createConnection()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("employees");
    db.setUserName("USERNAME");
    db.setPassword("PASSWORD");
    if(!db.open())
    {
        return false;
    }
    return true;
}

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля

 

Страница сгенерирована за 0.05 секунд. Запросов: 25.