qt c++ 药品管理系统
时间: 2023-12-29 14:04:15 浏览: 175
基于引用[1]和引用的内容,我们可以了解到Qt和C++可以用于开发医院信息管理系统,其中包括药品管理系统。下面是一个简单的Qt C++药品管理系统的实现示例:
```cpp
#include <QApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QDebug>
#include <QTableView>
#include <QStandardItemModel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 连接数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("medicine");
db.setUserName("root");
db.setPassword("password");
if (!db.open()) {
qDebug() << "Failed to connect to database:" << db.lastError().text();
return 1;
}
// 创建药品表
QSqlQuery query;
if (!query.exec("CREATE TABLE IF NOT EXISTS medicine ("
"id INT PRIMARY KEY AUTO_INCREMENT,"
"name VARCHAR(255) NOT NULL,"
"price FLOAT NOT NULL,"
"quantity INT NOT NULL)")) {
qDebug() << "Failed to create table:" << query.lastError().text();
return 1;
}
// 插入药品数据
if (!query.exec("INSERT INTO medicine (name, price, quantity) VALUES "
"('Aspirin', 2.5, 100),"
"('Paracetamol', 1.5, 200),"
"('Ibuprofen', 3.0, 150)")) {
qDebug() << "Failed to insert data:" << query.lastError().text();
return 1;
}
// 查询药品数据
QStandardItemModel model;
model.setHorizontalHeaderLabels(QStringList() << "ID" << "Name" << "Price" << "Quantity");
if (query.exec("SELECT * FROM medicine")) {
while (query.next()) {
QList<QStandardItem *> rowItems;
for (int i = 0; i < 4; ++i) {
rowItems.append(new QStandardItem(query.value(i).toString()));
}
model.appendRow(rowItems);
}
} else {
qDebug() << "Failed to query data:" << query.lastError().text();
return 1;
}
// 显示药品数据
QTableView tableView;
tableView.setModel(&model);
tableView.resize(400, 300);
tableView.show();
return a.exec();
}
```
这个示例程序使用Qt和C++连接MySQL数据库,创建了一个名为medicine的药品表,并插入了三种药品的数据。然后,它查询了药品表中的所有数据,并将其显示在一个表格视图中。
--相关问题--:
1. Qt和C++如何连接MySQL数据库?
2. 如何在Qt中创建表格视图?
3. 如何在Qt中
阅读全文