首先需要打开数据库服务才能连接,Linux安装Mysql:https://www.cnblogs.com/itfky/p/13732841.html
也适用于阿里oceanbase,DM数据库,TIDB,但是安装不如M
sql方便
效果如下:
控件用了这些
代码如下:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
model = new QSqlQueryModel(this);
ui->tableView->setModel(model);
}
db = QSqlDatabase::addDatabase(ui->lineEdit_driver->text()); //sql驱动
//db.setDatabaseName("mysql");
db.setHostName(ui->lineEdit_IP->text()); //服务IP
db.setUserName(ui->lineEdit_usr->text()); //用户名
db.setPassword(ui->lineEdit_PWD->text()); //密码
db.setPort(ui->lineEdit_port->text().toInt()); //port
if(!db.open() )
{
ui->textEdit_In->append("连接失败请重新打开本程序");
return;
}
else
{
ui->textEdit_In->append("连接成功");
return;
}
//此为数据库连接部分
//这一段是连接成功后发送命令操作
ui->textEdit_In->append(ui->textEdit_out->toPlainText());
QString query = ui->textEdit_out->toPlainText();
model->setQuery(query,db); //发送
if(model->lastError().isValid())
{
QString error = model->lastError().text();
ui->textEdit_In->append(error); //直接将数据库服务的消息打印出来
return;
}
else
{
ui->textEdit_In->append("成功!\n");
}