Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/63: Рейтинг темы: голосов - 63, средняя оценка - 4.59
15 / 14 / 4
Регистрация: 20.05.2011
Сообщений: 293
Записей в блоге: 2
1

Создание базы данных mysql

01.09.2012, 19:16. Показов 11408. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
здравствуйте , что то не как не могу найти в интернете как создать базу на mysql средствами QT, нашел как только создать таблици в базе, пример можете кто нибудь дать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.09.2012, 19:16
Ответы с готовыми решениями:

Backup базы данных MySql
Сохраняю и восстанавливаю базу через QProcess: const QString copyQUERY = "mysqldump.exe...

Создание базы данных SQLite в Qt
Привет всем.Нужна помощь.нужно создать базу данных SQLite в моей программе на Qt.программка...

Создание резервной копии базы данных
Есть база данных (с одной таблицей) для хранения логиннов и паролей. Есть тривиальный интерфейс,...

Динамическое создание Label и заполнение текстом из базы данных
Здравствуйте, форумчане! Программирую на Qt недавно. Пишу приложение в виде теста(опросника). Не...

12
Почетный модератор
11525 / 4320 / 448
Регистрация: 12.06.2008
Сообщений: 12,412
01.09.2012, 21:23 2
MySQL
1
CREATE DATABASE <имя базы>
1
15 / 14 / 4
Регистрация: 20.05.2011
Сообщений: 293
Записей в блоге: 2
02.09.2012, 09:43  [ТС] 3
спасибо, проблему решил так
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
        db.setDatabaseName("test");
 
        db.setUserName("root");
        db.setHostName("localhost");
        db.setPassword("1234567");
        if (!db.open()) {
            ui->label->setText("no");
            }
        else {ui->label->setText("yes");
            QSqlQuery query(db);
                    query.exec("CREATE DATABASE myDb2;");
                    db.open();
        }
Добавлено через 1 час 26 минут
теперь другой вопрос как сделать чтобы имя базы myDb2 взять из ui->lineEdit->text()
то есть
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
        db.setDatabaseName("test");
 
        db.setUserName("root");
        db.setHostName("localhost");
        db.setPassword("1234567");
        if (!db.open()) {
            ui->label->setText("no");
            }
        else {ui->label->setText("yes");
            QSqlQuery query(db);
                    query.exec("CREATE DATABASE ui->lineEdit->text();")// вот эту строчку как правильно реализовать?
                    db.open();
        }
??
0
Почетный модератор
11525 / 4320 / 448
Регистрация: 12.06.2008
Сообщений: 12,412
02.09.2012, 12:30 4
В простейшем случае можно так сделать
C++ (Qt)
1
query.exec("CREATE DATABASE "+ui->lineEdit->text());
Но крайне желательно вначале проверить эту строку на запрещённые символы, что бы исключить SQL-инъекции и ошибки.
1
15 / 14 / 4
Регистрация: 20.05.2011
Сообщений: 293
Записей в блоге: 2
03.09.2012, 19:33  [ТС] 5
шас почему то не создается таблица( ругается
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
        db.setDatabaseName("test");
 
        db.setUserName("root");
        db.setHostName("localhost");
        db.setPassword("1234567");
        db.open();
        QSqlQuery query(db);
        //QSqlQuery query;
        query.exec("CREATE DATABASE "+ui->lineEdit->text());
        //db.open();
        db.database("test").close();
 
        db.setDatabaseName(ui->lineEdit->text());
        db.setUserName("root");
        db.setHostName("localhost");
        db.setPassword("1234567");
      if (!db.open()) {
          qDebug() << "Unable to do insert opeation1";
      }
 
         //QSqlQuery query;
        query.prepare("INSERT INTO  addressbook (number, name, phone, email) VALUES(?, ?, ?, ?)"); // подготавливаем запрос
        ///query.addBindValue("aa"); // заполняем вопросительные знаки значениями
        //query.addBindValue("dd");
        //query.addBindValue("+42187");
       // query.addBindValue("piy@mega.de");
// iif (!query.exec()) {
                qDebug() << "Unable to do insert opeation"; и так не работаетт
            }
        if (!query.exec("CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20)")) {
        qDebug() << "Unable to do insert opeation2"// так тоже.;
0
Почетный модератор
11525 / 4320 / 448
Регистрация: 12.06.2008
Сообщений: 12,412
03.09.2012, 21:03 6
В вывод сообщения об ошибке добавь query.lastError().text()... тогда будет понятно, на что именно он ругается.
0
15 / 14 / 4
Регистрация: 20.05.2011
Сообщений: 293
Записей в блоге: 2
03.09.2012, 21:18  [ТС] 7
куда добавить
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
        db.setDatabaseName("test");
 
        db.setUserName("root");
        db.setHostName("localhost");
        db.setPassword("1234567");
        db.open();
        QSqlQuery query(db);
        //QSqlQuery query;
        query.exec("CREATE DATABASE "+ui->lineEdit->text());
        //db.open();
        db.database("test").close();
 
        db.setDatabaseName(ui->lineEdit->text());
        db.setUserName("root");
        db.setHostName("localhost");
        db.setPassword("1234567");
      if (!db.open()) {
          qDebug() << "Unable to do insert opeation1";
      }
 
         //QSqlQuery query;
        query.prepare("INSERT INTO  addressbook (number, name, phone, email) VALUES(?, ?, ?, ?)"); // подготавливаем запрос
        query.addBindValue("aa"); // заполняем вопросительные знаки значениями
        query.addBindValue("dd");
        query.addBindValue("+42187");
       query.addBindValue("piy@mega.de");
       if (!query.exec()) {
                      query.lastError().text(); //и так не работаетт
       }
0
Почетный модератор
11525 / 4320 / 448
Регистрация: 12.06.2008
Сообщений: 12,412
03.09.2012, 22:13 8
qDebug() << query.lastError().text();
1
15 / 14 / 4
Регистрация: 20.05.2011
Сообщений: 293
Записей в блоге: 2
04.09.2012, 06:17  [ТС] 9
"Table 'll.addressbook' doesn't exist QMYSQL: Unable to execute query вот как ругается
0
Почетный модератор
11525 / 4320 / 448
Регистрация: 12.06.2008
Сообщений: 12,412
04.09.2012, 08:42 10
Просто таблицы этой не существует. Оно и понятно... ты же только что пустую базу создал. Вначале надо таблицу создать CREATE TABLE......
1
15 / 14 / 4
Регистрация: 20.05.2011
Сообщений: 293
Записей в блоге: 2
04.09.2012, 21:16  [ТС] 11
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 QMYSQL: Unable to execute query" вот как ругается на вот эту строчку
C++ (Qt)
1
2
3
4
if (!query.exec("CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20)")) {
        qDebug() << query.lastError().text();
 
    }
Добавлено через 33 минуты
и хотел спросить нету ли исходников каких нибудь своих наработок программирование с mysql а то по пустякам как то не удобно писать а в инете не много примеров что то нашел.
0
Почетный модератор
11525 / 4320 / 448
Регистрация: 12.06.2008
Сообщений: 12,412
04.09.2012, 22:40 12
Скобка в конце не закрыта... должно быть
C++ (Qt)
1
if (!query.exec("CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20))")) {
1
15 / 14 / 4
Регистрация: 20.05.2011
Сообщений: 293
Записей в блоге: 2
05.09.2012, 06:22  [ТС] 13
Спасибо большое!!!
0
05.09.2012, 06:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.09.2012, 06:22
Помогаю со студенческими работами здесь

Создание тестовой базы данных mysql
Разрабатывается веб приложение на java. Теперь пишутся тесты. Проблема в том, что сейчас тесты...

Создание dump базы данных Mysql
Как программно из Delphi создать dump базы данных Mysql

Создание базы данных mysql для форума
Здравствуйте! Я пишу свой сайт с нуля и написать осталось только форум, за этим пришёл сюда....

Создание базы данных с использованием MySQL и обработка на PHP
дравствуйте! Помогите пожалуйста с этим заданием.помогите пожалуйста создать.. 1....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru