🗊Презентация Qt и SQL. Программирование баз данных

Категория: Образование
Нажмите для полного просмотра!
Qt и SQL. Программирование баз данных, слайд №1Qt и SQL. Программирование баз данных, слайд №2Qt и SQL. Программирование баз данных, слайд №3Qt и SQL. Программирование баз данных, слайд №4Qt и SQL. Программирование баз данных, слайд №5Qt и SQL. Программирование баз данных, слайд №6Qt и SQL. Программирование баз данных, слайд №7Qt и SQL. Программирование баз данных, слайд №8Qt и SQL. Программирование баз данных, слайд №9Qt и SQL. Программирование баз данных, слайд №10Qt и SQL. Программирование баз данных, слайд №11Qt и SQL. Программирование баз данных, слайд №12Qt и SQL. Программирование баз данных, слайд №13Qt и SQL. Программирование баз данных, слайд №14Qt и SQL. Программирование баз данных, слайд №15Qt и SQL. Программирование баз данных, слайд №16Qt и SQL. Программирование баз данных, слайд №17Qt и SQL. Программирование баз данных, слайд №18Qt и SQL. Программирование баз данных, слайд №19Qt и SQL. Программирование баз данных, слайд №20Qt и SQL. Программирование баз данных, слайд №21Qt и SQL. Программирование баз данных, слайд №22Qt и SQL. Программирование баз данных, слайд №23Qt и SQL. Программирование баз данных, слайд №24Qt и SQL. Программирование баз данных, слайд №25Qt и SQL. Программирование баз данных, слайд №26Qt и SQL. Программирование баз данных, слайд №27Qt и SQL. Программирование баз данных, слайд №28Qt и SQL. Программирование баз данных, слайд №29

Содержание

Вы можете ознакомиться и скачать презентацию на тему Qt и SQL. Программирование баз данных. Доклад-сообщение содержит 29 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Qt и SQL. Программирование баз данных
Для использования баз данных, Qt предоставляет отдельный модуль QtSql. Для его использования необходимо сообщить об этом — просто добавьте в проектный файл следующую строку:
Описание слайда:
Qt и SQL. Программирование баз данных Для использования баз данных, Qt предоставляет отдельный модуль QtSql. Для его использования необходимо сообщить об этом — просто добавьте в проектный файл следующую строку:

Слайд 2





А для того, чтобы работать с классами этого модуля, необходимо включить заголовочный метафайл QtSql.
А для того, чтобы работать с классами этого модуля, необходимо включить заголовочный метафайл QtSql.
Для высылки запросов используется класс QSqlQuery.
Для создания таблицы используется оператор CREATE TABLE, в котором указываются имена столбцов таблицы, их тип, а также задается первичный ключ: 
CREATE TABLE addressbook ( 
number INTEGER PRIMARY KEY NOT NULL, 
name VARCHAR(15), 
phone VARCHAR(12), 
email VARCHAR(15) 
);
Описание слайда:
А для того, чтобы работать с классами этого модуля, необходимо включить заголовочный метафайл QtSql. А для того, чтобы работать с классами этого модуля, необходимо включить заголовочный метафайл QtSql. Для высылки запросов используется класс QSqlQuery. Для создания таблицы используется оператор CREATE TABLE, в котором указываются имена столбцов таблицы, их тип, а также задается первичный ключ: CREATE TABLE addressbook ( number INTEGER PRIMARY KEY NOT NULL, name VARCHAR(15), phone VARCHAR(12), email VARCHAR(15) );

Слайд 3





После создания таблицы можно добавлять данные. Для этого SQL предоставляет оператор вставки insert into. Сразу после названия таблицы нужно указать в скобках имена столбцов, в которые будут заноситься данные.
После создания таблицы можно добавлять данные. Для этого SQL предоставляет оператор вставки insert into. Сразу после названия таблицы нужно указать в скобках имена столбцов, в которые будут заноситься данные.
Сами данные указываются после ключевого слова values. 
INSERT INTO addressbook (number, name, phone, email) 
VALUES(1, 'Piggy', '+49 631322187', 'piggy@mega.de'); 
INSERT INTO addressbook (number, name, phone, email) 
VALUES(2, 'Kermit', '+49 631322181', 'kermit@mega.de');
Описание слайда:
После создания таблицы можно добавлять данные. Для этого SQL предоставляет оператор вставки insert into. Сразу после названия таблицы нужно указать в скобках имена столбцов, в которые будут заноситься данные. После создания таблицы можно добавлять данные. Для этого SQL предоставляет оператор вставки insert into. Сразу после названия таблицы нужно указать в скобках имена столбцов, в которые будут заноситься данные. Сами данные указываются после ключевого слова values. INSERT INTO addressbook (number, name, phone, email) VALUES(1, 'Piggy', '+49 631322187', 'piggy@mega.de'); INSERT INTO addressbook (number, name, phone, email) VALUES(2, 'Kermit', '+49 631322181', 'kermit@mega.de');

Слайд 4






Составной оператор select ... from ... where осуществляет операции выборки и проекции. Выборка соответствует выбору строк, а проекция — выбору столбцов. Этот оператор возвращает таблицу, созданную согласно заданным критериям.
Ключевое слово SELECT является оператором для проведения проекции, то есть в нем указываются столбцы, которые должны стать ответом на запрос. Если указать после SELECT знак *, то результирующая таблица будет содержать все столбцы таблицы, к которой был адресован запрос. Указание конкретных имен столбцов устраняет в ответе все остальные.
Описание слайда:
Составной оператор select ... from ... where осуществляет операции выборки и проекции. Выборка соответствует выбору строк, а проекция — выбору столбцов. Этот оператор возвращает таблицу, созданную согласно заданным критериям. Ключевое слово SELECT является оператором для проведения проекции, то есть в нем указываются столбцы, которые должны стать ответом на запрос. Если указать после SELECT знак *, то результирующая таблица будет содержать все столбцы таблицы, к которой был адресован запрос. Указание конкретных имен столбцов устраняет в ответе все остальные.

Слайд 5





Ключевое слово FROM задает таблицу, к которой адресован запрос.
Ключевое слово FROM задает таблицу, к которой адресован запрос.
Ключевое слово WHERE является оператором выборки. Выборка осуществляется согласно условиям, указанным сразу после оператора.
Например, для получения адреса электронной почты мисс Piggy нужно сделать следующее: 
SELECT email 
FROM addressbook 
WHERE name = 'Piggy';
Описание слайда:
Ключевое слово FROM задает таблицу, к которой адресован запрос. Ключевое слово FROM задает таблицу, к которой адресован запрос. Ключевое слово WHERE является оператором выборки. Выборка осуществляется согласно условиям, указанным сразу после оператора. Например, для получения адреса электронной почты мисс Piggy нужно сделать следующее: SELECT email FROM addressbook WHERE name = 'Piggy';

Слайд 6





Для изменения данных таблицы используется составной оператор UPDATE ... SET. После названия таблицы в операторе SET указывается название столбца (или столбцов, через запятую), в который будет заноситься нужное значение. Изменение данных производится в строках, удовлетворяющих условию, поставленному в ключевом слове WHERE.
Для изменения данных таблицы используется составной оператор UPDATE ... SET. После названия таблицы в операторе SET указывается название столбца (или столбцов, через запятую), в который будет заноситься нужное значение. Изменение данных производится в строках, удовлетворяющих условию, поставленному в ключевом слове WHERE.
В показанном ниже примере производится замена адреса электронной почты мисс Piggy с piggy@mega.de на piggy@supermega.de: 
UPDATE addressbook
SET email = 'piggy@supermega.de'
WHERE name = 'Piggy';
Описание слайда:
Для изменения данных таблицы используется составной оператор UPDATE ... SET. После названия таблицы в операторе SET указывается название столбца (или столбцов, через запятую), в который будет заноситься нужное значение. Изменение данных производится в строках, удовлетворяющих условию, поставленному в ключевом слове WHERE. Для изменения данных таблицы используется составной оператор UPDATE ... SET. После названия таблицы в операторе SET указывается название столбца (или столбцов, через запятую), в который будет заноситься нужное значение. Изменение данных производится в строках, удовлетворяющих условию, поставленному в ключевом слове WHERE. В показанном ниже примере производится замена адреса электронной почты мисс Piggy с piggy@mega.de на piggy@supermega.de: UPDATE addressbook SET email = 'piggy@supermega.de' WHERE name = 'Piggy';

Слайд 7





Удаление строк из таблицы производится при помощи оператора DELETE ... FROM. После ключевого слова WHERE следует критерий, согласно которому производится удаление строк. Например, удалить адрес мисс Piggy из таблицы можно следующим образом: 
Удаление строк из таблицы производится при помощи оператора DELETE ... FROM. После ключевого слова WHERE следует критерий, согласно которому производится удаление строк. Например, удалить адрес мисс Piggy из таблицы можно следующим образом: 
DELETE FROM addressbook 
WHERE name = 'Piggy';
Описание слайда:
Удаление строк из таблицы производится при помощи оператора DELETE ... FROM. После ключевого слова WHERE следует критерий, согласно которому производится удаление строк. Например, удалить адрес мисс Piggy из таблицы можно следующим образом: Удаление строк из таблицы производится при помощи оператора DELETE ... FROM. После ключевого слова WHERE следует критерий, согласно которому производится удаление строк. Например, удалить адрес мисс Piggy из таблицы можно следующим образом: DELETE FROM addressbook WHERE name = 'Piggy';

Слайд 8





Классы модуля QtSql разделяются на три уровня:
Классы модуля QtSql разделяются на три уровня:
Уровень драйверов.
Программный уровень.
Уровень пользовательского интерфейса.
К первому уровню относятся классы для получения данных на физическом уровне. Это такие классы, как: QSqlDriver, QSqlDriverCreator<T*>, QSqlDriverCreatorBase, QSqlDriverPlugin и QSqlResult
Они необходимы для создания собственного драйвера для менеджера базы данных. Но в большинстве случаев все ограничивается использованием конкретной СУБД , поддерживаемой Qt.
Описание слайда:
Классы модуля QtSql разделяются на три уровня: Классы модуля QtSql разделяются на три уровня: Уровень драйверов. Программный уровень. Уровень пользовательского интерфейса. К первому уровню относятся классы для получения данных на физическом уровне. Это такие классы, как: QSqlDriver, QSqlDriverCreator<T*>, QSqlDriverCreatorBase, QSqlDriverPlugin и QSqlResult Они необходимы для создания собственного драйвера для менеджера базы данных. Но в большинстве случаев все ограничивается использованием конкретной СУБД , поддерживаемой Qt.

Слайд 9





Классы второго уровня предоставляют программный интерфейс для обращения к базе данных. К классам этого уровня относятся следующие классы: QSqlDatabase, QSqlQuery, QSqlError, QSqlField, QSqlIndex и QSqlRecord. 
Классы второго уровня предоставляют программный интерфейс для обращения к базе данных. К классам этого уровня относятся следующие классы: QSqlDatabase, QSqlQuery, QSqlError, QSqlField, QSqlIndex и QSqlRecord. 
Третий уровень предоставляет модели для отображения результатов запросов в представлениях интервью. К этим классам относятся: QSqlQueryModel, QSqlTableModel и QSqlRelationalTableModel.
Описание слайда:
Классы второго уровня предоставляют программный интерфейс для обращения к базе данных. К классам этого уровня относятся следующие классы: QSqlDatabase, QSqlQuery, QSqlError, QSqlField, QSqlIndex и QSqlRecord. Классы второго уровня предоставляют программный интерфейс для обращения к базе данных. К классам этого уровня относятся следующие классы: QSqlDatabase, QSqlQuery, QSqlError, QSqlField, QSqlIndex и QSqlRecord. Третий уровень предоставляет модели для отображения результатов запросов в представлениях интервью. К этим классам относятся: QSqlQueryModel, QSqlTableModel и QSqlRelationalTableModel.

Слайд 10





Для соединения с базой данных прежде всего нужно активизировать драйвер. для этого вызывается статический метод QSqlDatabase::addDatabase().
Для соединения с базой данных прежде всего нужно активизировать драйвер. для этого вызывается статический метод QSqlDatabase::addDatabase().
 В него нужно передать строку, обозначающую идентификатор драйвера СУБД.
Описание слайда:
Для соединения с базой данных прежде всего нужно активизировать драйвер. для этого вызывается статический метод QSqlDatabase::addDatabase(). Для соединения с базой данных прежде всего нужно активизировать драйвер. для этого вызывается статический метод QSqlDatabase::addDatabase(). В него нужно передать строку, обозначающую идентификатор драйвера СУБД.

Слайд 11


Qt и SQL. Программирование баз данных, слайд №11
Описание слайда:

Слайд 12





Методы должны вызываться из объекта, созданного с помощью статического метода QSqlDatabase::addDatabase().
Методы должны вызываться из объекта, созданного с помощью статического метода QSqlDatabase::addDatabase().
Само соединение осуществляется методом QSqlDatabase::open(). Значение, возвращаемое им, рекомендуется проверять. В случае возникновения ошибки, информацию о ней можно получить с помощью метода QSqlDatabase::lastError(), который возвращает объект класса QSqlError.
Его содержимое можно вывести на экран с помощью qDebug(). Если у вас возникла необходимость получить строку с ошибкой, то нужно вызвать из объекта класса QSqlError метод text().
Описание слайда:
Методы должны вызываться из объекта, созданного с помощью статического метода QSqlDatabase::addDatabase(). Методы должны вызываться из объекта, созданного с помощью статического метода QSqlDatabase::addDatabase(). Само соединение осуществляется методом QSqlDatabase::open(). Значение, возвращаемое им, рекомендуется проверять. В случае возникновения ошибки, информацию о ней можно получить с помощью метода QSqlDatabase::lastError(), который возвращает объект класса QSqlError. Его содержимое можно вывести на экран с помощью qDebug(). Если у вас возникла необходимость получить строку с ошибкой, то нужно вызвать из объекта класса QSqlError метод text().

Слайд 13





Для исполнения команд SQL, после установления соединения, можно использовать класс QSqlQuery. 
Для исполнения команд SQL, после установления соединения, можно использовать класс QSqlQuery. 
Запросы (команды) оформляются в виде обычной строки, которая передается в конструктор или в метод QSqlQuery::exec(). 
В случае конструктора, запуск команды будет производиться автоматически, при создании объекта.
Описание слайда:
Для исполнения команд SQL, после установления соединения, можно использовать класс QSqlQuery. Для исполнения команд SQL, после установления соединения, можно использовать класс QSqlQuery. Запросы (команды) оформляются в виде обычной строки, которая передается в конструктор или в метод QSqlQuery::exec(). В случае конструктора, запуск команды будет производиться автоматически, при создании объекта.

Слайд 14


Qt и SQL. Программирование баз данных, слайд №14
Описание слайда:

Слайд 15





Класс QSqlQuery предоставляет возможность навигации. Например, после выполнения запроса SELECT можно:
Класс QSqlQuery предоставляет возможность навигации. Например, после выполнения запроса SELECT можно:
С помощью метода next() перемещаться на следующую строку данных, 
Методом previous() перемещаться на предыдущую строку данных. 
При помощи методов first() и last() можно установить первую и последнюю строку данных соответственно. 
Метод seek() устанавливает строку данных по указанному целочисленному индексу в его параметре. 
Количество строк данных можно получить вызовом метода size().
Описание слайда:
Класс QSqlQuery предоставляет возможность навигации. Например, после выполнения запроса SELECT можно: Класс QSqlQuery предоставляет возможность навигации. Например, после выполнения запроса SELECT можно: С помощью метода next() перемещаться на следующую строку данных, Методом previous() перемещаться на предыдущую строку данных. При помощи методов first() и last() можно установить первую и последнюю строку данных соответственно. Метод seek() устанавливает строку данных по указанному целочисленному индексу в его параметре. Количество строк данных можно получить вызовом метода size().

Слайд 16





Дополнительные сложности возникают с запросом INSERT. Дело в том, что в запрос нужно внедрять данные. Для достижения этого можно воспользоваться двумя методами: prepare() и bindValue(). В методе prepare() мы задаем шаблон, данные в который подставляются методами bindValue(). Например:
Дополнительные сложности возникают с запросом INSERT. Дело в том, что в запрос нужно внедрять данные. Для достижения этого можно воспользоваться двумя методами: prepare() и bindValue(). В методе prepare() мы задаем шаблон, данные в который подставляются методами bindValue(). Например:
query.prepare("INSERT INTO addressbook (number, name, phone, email) VALUES(:number, :name, :phone, :email);");
query.bindValue (" :number", "1");
query.bindValue(":name", "Piggy");
query.bindValue(":phone", " + 49 631322187");
query.bindValue(":email", "piggy@mega.de");
Описание слайда:
Дополнительные сложности возникают с запросом INSERT. Дело в том, что в запрос нужно внедрять данные. Для достижения этого можно воспользоваться двумя методами: prepare() и bindValue(). В методе prepare() мы задаем шаблон, данные в который подставляются методами bindValue(). Например: Дополнительные сложности возникают с запросом INSERT. Дело в том, что в запрос нужно внедрять данные. Для достижения этого можно воспользоваться двумя методами: prepare() и bindValue(). В методе prepare() мы задаем шаблон, данные в который подставляются методами bindValue(). Например: query.prepare("INSERT INTO addressbook (number, name, phone, email) VALUES(:number, :name, :phone, :email);"); query.bindValue (" :number", "1"); query.bindValue(":name", "Piggy"); query.bindValue(":phone", " + 49 631322187"); query.bindValue(":email", "piggy@mega.de");

Слайд 17





Также можно воспользоваться вариантом использования безымянных параметров:
Также можно воспользоваться вариантом использования безымянных параметров:
query.prepare("INSERT INTO addressbook (number, name, phone, email) VALUES(?, ?, ?, ?);");
query.bindValue("1");
query.bindValue("Piggy");
query.bindValue("+ 49 631322187");
query.bindValue("piggy@mega.de");
Описание слайда:
Также можно воспользоваться вариантом использования безымянных параметров: Также можно воспользоваться вариантом использования безымянных параметров: query.prepare("INSERT INTO addressbook (number, name, phone, email) VALUES(?, ?, ?, ?);"); query.bindValue("1"); query.bindValue("Piggy"); query.bindValue("+ 49 631322187"); query.bindValue("piggy@mega.de");

Слайд 18





В качестве третьего варианта — можно воспользоваться классом QString, в частности методом QString::arg(), с помощью которого можно произвести подстановку значений данных.
В качестве третьего варианта — можно воспользоваться классом QString, в частности методом QString::arg(), с помощью которого можно произвести подстановку значений данных.
Описание слайда:
В качестве третьего варианта — можно воспользоваться классом QString, в частности методом QString::arg(), с помощью которого можно произвести подстановку значений данных. В качестве третьего варианта — можно воспользоваться классом QString, в частности методом QString::arg(), с помощью которого можно произвести подстановку значений данных.

Слайд 19


Qt и SQL. Программирование баз данных, слайд №19
Описание слайда:

Слайд 20


Qt и SQL. Программирование баз данных, слайд №20
Описание слайда:

Слайд 21





В случае удачного соединения с базой данных с помощью createConnection() создается строка, содержащая команду SQL для создания таблицы. 
В случае удачного соединения с базой данных с помощью createConnection() создается строка, содержащая команду SQL для создания таблицы. 
Эта строка передается в метод exec() объекта класса QSqlQuery. Если создать таблицу не удается, то на консоль будет выведено предупреждающее сообщение.
 Ввиду того, что в таблицу будет внесена не одна строка, в строковой переменной strF при помощи символов спецификации определяется шаблон для команды INSERT. Вызовы методов arg() класса QString подставляют нужные значения используя шаблон.
Описание слайда:
В случае удачного соединения с базой данных с помощью createConnection() создается строка, содержащая команду SQL для создания таблицы. В случае удачного соединения с базой данных с помощью createConnection() создается строка, содержащая команду SQL для создания таблицы. Эта строка передается в метод exec() объекта класса QSqlQuery. Если создать таблицу не удается, то на консоль будет выведено предупреждающее сообщение. Ввиду того, что в таблицу будет внесена не одна строка, в строковой переменной strF при помощи символов спецификации определяется шаблон для команды INSERT. Вызовы методов arg() класса QString подставляют нужные значения используя шаблон.

Слайд 22





Затем, когда база данных создана и все данные были внесены в таблицу, выполняется запрос SELECT, помещающий строки и столбцы таблицы в объект query. 
Затем, когда база данных создана и все данные были внесены в таблицу, выполняется запрос SELECT, помещающий строки и столбцы таблицы в объект query. 
Вывод значений таблицы на консоль производится в цикле. При первом вызове метода next() этот объект будет указывать на самую первую строку таблицы. 
Последующие вызовы приведут к перемещению указателя на следующие строки. В том случае, если записей больше нет, метод next() вернет false, что приведет к выходу из цикла.
Описание слайда:
Затем, когда база данных создана и все данные были внесены в таблицу, выполняется запрос SELECT, помещающий строки и столбцы таблицы в объект query. Затем, когда база данных создана и все данные были внесены в таблицу, выполняется запрос SELECT, помещающий строки и столбцы таблицы в объект query. Вывод значений таблицы на консоль производится в цикле. При первом вызове метода next() этот объект будет указывать на самую первую строку таблицы. Последующие вызовы приведут к перемещению указателя на следующие строки. В том случае, если записей больше нет, метод next() вернет false, что приведет к выходу из цикла.

Слайд 23





Для получения результата запроса следует вызвать метод QSqlQuery::value(), в котором необходимо передать номер столбца. Для этого мы воспользуемся методом record(). 
Для получения результата запроса следует вызвать метод QSqlQuery::value(), в котором необходимо передать номер столбца. Для этого мы воспользуемся методом record(). 
Этот метод возвращает объект класса QSqlRecord, который содержит информацию, относящуюся к запросу SELECT. 
С его помощью, вызовом метода QSqlRecord::indexOf(), мы получаем индекс столбца.
Описание слайда:
Для получения результата запроса следует вызвать метод QSqlQuery::value(), в котором необходимо передать номер столбца. Для этого мы воспользуемся методом record(). Для получения результата запроса следует вызвать метод QSqlQuery::value(), в котором необходимо передать номер столбца. Для этого мы воспользуемся методом record(). Этот метод возвращает объект класса QSqlRecord, который содержит информацию, относящуюся к запросу SELECT. С его помощью, вызовом метода QSqlRecord::indexOf(), мы получаем индекс столбца.

Слайд 24





Метод value() возвращает значения типа QVariant. QVariant — это специальный класс, объекты которого могут содержать в себе значения разных типов. 
Метод value() возвращает значения типа QVariant. QVariant — это специальный класс, объекты которого могут содержать в себе значения разных типов. 
Поэтому, в нашем примере, полученное значение нужно преобразовать к требуемому типу, воспользовавшись методами QVariant::toInt() и QVariant::toString().
Описание слайда:
Метод value() возвращает значения типа QVariant. QVariant — это специальный класс, объекты которого могут содержать в себе значения разных типов. Метод value() возвращает значения типа QVariant. QVariant — это специальный класс, объекты которого могут содержать в себе значения разных типов. Поэтому, в нашем примере, полученное значение нужно преобразовать к требуемому типу, воспользовавшись методами QVariant::toInt() и QVariant::toString().

Слайд 25





Модуль QtSql поддерживает концепцию Интервью, самый простой способ отобразить данные таблицы. Здесь не потребуется цикла для прохождения по строкам таблицы.
Модуль QtSql поддерживает концепцию Интервью, самый простой способ отобразить данные таблицы. Здесь не потребуется цикла для прохождения по строкам таблицы.
Описание слайда:
Модуль QtSql поддерживает концепцию Интервью, самый простой способ отобразить данные таблицы. Здесь не потребуется цикла для прохождения по строкам таблицы. Модуль QtSql поддерживает концепцию Интервью, самый простой способ отобразить данные таблицы. Здесь не потребуется цикла для прохождения по строкам таблицы.

Слайд 26





После соединения с базой данных, проводимого с помощью функции createConnection(),
После соединения с базой данных, проводимого с помощью функции createConnection(),
 создается объект табличного представления QTableView и объект табличной модели QSqlTableModel. Вызовом метода setTable() мы устанавливаем актуальную базу в модели. Вызов метода select() производит заполнение данными.
вызовом метода setEditStrategy() устанавливается стратегия редактирования SqlTableModel::OnFieldChange. Теперь данные нашей модели можно изменять после двойного щелчка на ячейке. В завершение мы устанавливаем модель в представлении вызовом метода setModel().
Описание слайда:
После соединения с базой данных, проводимого с помощью функции createConnection(), После соединения с базой данных, проводимого с помощью функции createConnection(), создается объект табличного представления QTableView и объект табличной модели QSqlTableModel. Вызовом метода setTable() мы устанавливаем актуальную базу в модели. Вызов метода select() производит заполнение данными. вызовом метода setEditStrategy() устанавливается стратегия редактирования SqlTableModel::OnFieldChange. Теперь данные нашей модели можно изменять после двойного щелчка на ячейке. В завершение мы устанавливаем модель в представлении вызовом метода setModel().

Слайд 27





Класс QSqlTableModel предоставляет три стратегии редактирования, которые устанавливаются с помощью метода setEditStrategy():
Класс QSqlTableModel предоставляет три стратегии редактирования, которые устанавливаются с помощью метода setEditStrategy():
onRowChange — производит запись данных, как только пользователь перейдет к другой строке таблицы; 
onFieldChange — производит запись данных после того, как пользователь перейдет к другой ячейке таблицы; 
OnManualSubmit —записывает данные по вызову слота submitAl(). Если вызывается слот revertAll(), то данные возвращаются в исходное состояние.
Описание слайда:
Класс QSqlTableModel предоставляет три стратегии редактирования, которые устанавливаются с помощью метода setEditStrategy(): Класс QSqlTableModel предоставляет три стратегии редактирования, которые устанавливаются с помощью метода setEditStrategy(): onRowChange — производит запись данных, как только пользователь перейдет к другой строке таблицы; onFieldChange — производит запись данных после того, как пользователь перейдет к другой ячейке таблицы; OnManualSubmit —записывает данные по вызову слота submitAl(). Если вызывается слот revertAll(), то данные возвращаются в исходное состояние.

Слайд 28





Если вам понадобится произвести отображение данных какого-либо конкретного опроса SELECT, то для этого целесообразнее будет воспользоваться другим классом SQL-моделей — классом QSqlQueryModel. 
Если вам понадобится произвести отображение данных какого-либо конкретного опроса SELECT, то для этого целесообразнее будет воспользоваться другим классом SQL-моделей — классом QSqlQueryModel. 
Листинг ниже иллюстрирует отображение только электронных адресов и телефонных номеров всех контактов с именем Piggy. В нашем случае он будет всего лишь один.
Описание слайда:
Если вам понадобится произвести отображение данных какого-либо конкретного опроса SELECT, то для этого целесообразнее будет воспользоваться другим классом SQL-моделей — классом QSqlQueryModel. Если вам понадобится произвести отображение данных какого-либо конкретного опроса SELECT, то для этого целесообразнее будет воспользоваться другим классом SQL-моделей — классом QSqlQueryModel. Листинг ниже иллюстрирует отображение только электронных адресов и телефонных номеров всех контактов с именем Piggy. В нашем случае он будет всего лишь один.

Слайд 29


Qt и SQL. Программирование баз данных, слайд №29
Описание слайда:



Похожие презентации
Mypresentation.ru
Загрузить презентацию