2017-04-03 8 views
0

私は選択列コンボボックスの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");} 

は素晴らしい作品が、私は二つの質問持ってmainwindow.uiにプッシュbutttonを持っている:

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; 

その方法は、コンボボックスに表示される内容は、ID_cursoですが、私はそれがNome_cursoようにしたいと思います。それ、どうやったら出来るの?あなたの2番目のクエリを1として

+0

あなたの第一クエリのためにトリック
を行う必要がありますQSqlQueryModel *モデル=新しいQSqlQueryModel。 model-> setQuery( "Cursosからnome_cursoを選択");しかし、今は、comboBoxで選択された** nome_curso **を使用して、外部キーを持つ他のテーブルのデータを照会することを考えています。 (Curso_id)は、テーブルビューウィジェットのCursos(ID_Curso) 'を参照します。それは可能ですか? –

答えて

0


ui->comboBox->setModel->setModelColumn('Nome_curso');

私は `使用
QMessageBox(QMessageBox::Information, 'Connection Successfull', "Connection to database was successfull").exec();

関連する問題