2017-04-03 65 views
0

我在mainwindow.ui推按钮移到选择列组合框的Qt

void MainWindow::on_pushButton_clicked() 
{ 
    ConectarDB = QSqlDatabase::addDatabase("QMYSQL"); 
    ConectarDB.setHostName("localhost"); 
    ConectarDB.setDatabaseName("Banco"); 
    ConectarDB.setPort(3306); 
    ConectarDB.setUserName("root"); 
    ConectarDB.setPassword("root");} 

作品不错,但我有两个问题:

1)我会怎么做,以得到一个消息,确认连接按钮被点击后成功制作了吗?

2)一旦连接,我有另一种形式,其中comboBOX

Buscar_por_CURSO::Buscar_por_CURSO(QWidget *parent) : 
    QDialog(parent), 
    ui(new Ui::Buscar_por_CURSO) 
{ 
    ui->setupUi(this); 
    mBuscaCurso = new QSqlTableModel(this); 
    mBuscaCurso->setTable("Cursos"); 
    mBuscaCurso->select(); 
    ui->comboBox->setModel(mBuscaCurso); 
} 

我的表Cursos:

Create table Cursos(
ID_curso int not null auto_increment, 
Nome_curso varchar (50), 
primary key (ID_curso) 
)default charset = utf8; 

这样一来,这似乎在ComboBox是ID_curso,但我想它是Nome_curso。我怎么做?

+0

我用'QSqlQueryModel *模型=新QSqlQueryModel; model-> setQuery(“从Cursos选择nome_curso”); ui-> comboBox-> setModel(model);'解决第二个问题。但是现在,我正在考虑使用comboBox中选择的** nome_curso **来查询其他表中具有'外键(Curso_id)在tableView小部件中引用Cursos(ID_Curso)''。那可能吗? –

回答

0

根据你的第二个查询
ui->comboBox->setModel->setModelColumn('Nome_curso');

应该做的伎俩
对于你的第一个查询
QMessageBox(QMessageBox::Information, 'Connection Successfull', "Connection to database was successfull").exec();