i found my problem when i execute a qyery and show the result with qDebug like this it is fast and good speed
query.setForwardOnly(true);
query.
exec(QString("{CALL AddCourse(%1,%2,%3)}").
arg(majoridd
).
arg(degreeid
).
arg(termid
));
if(!query.isActive())
{
qDebug()<<"EROOORR QUERY";
}
else
{
while(query.next())
{
rec = query.record();
qDebug()<<"0:"<<rec.value(0)<<"1:"<<rec.value(1)<<"2:"<<rec.value(2)
<<"3:"<<rec.value(3)<<"4:"<<rec.value(4)<<"5:"<<rec.value(5)
<<"6:"<<rec.value(6)<<"7:"<<rec.value(7);
}
}
QSqlQuery query(QSqlDatabase::database("con"));
QSqlRecord rec;
query.setForwardOnly(true);
query.exec(QString("{CALL AddCourse(%1,%2,%3)}").arg(majoridd).arg(degreeid).arg(termid));
if(!query.isActive())
{
qDebug()<<"EROOORR QUERY";
}
else
{
while(query.next())
{
rec = query.record();
qDebug()<<"0:"<<rec.value(0)<<"1:"<<rec.value(1)<<"2:"<<rec.value(2)
<<"3:"<<rec.value(3)<<"4:"<<rec.value(4)<<"5:"<<rec.value(5)
<<"6:"<<rec.value(6)<<"7:"<<rec.value(7);
}
}
To copy to clipboard, switch view to plain text mode
when i use QTableWidget to show information like this it too slow
addtableWidget->setItemDelegate(new CheckDelegate);
//QSqlDatabase::database("con").open();
query.setForwardOnly(true);
query.
exec(QString("{CALL AddCourse(%1,%2,%3)}").
arg(majoridd
).
arg(degreeid
).
arg(termid
));
if(!query.isActive())
{
"لطÙا با پشتيباني تماس بگيريد");
}
else
{
int row = 1;
addtableWidget->setRowCount(row);
addlist.clear();
int i = 0;
while (query.next())
{
// rec = query.record();
item->setFlags(Qt::ItemIsEnabled|Qt::ItemIsUserCheckable);
item->setCheckState( Qt::Unchecked);
rec = query.record();
addlist.insert(i,rec.value(0).toInt());
for(int j = 1 ; j<=8 ; j++)
{
addtableWidget->setItem(i,j,item1);
item1->setFlags(Qt::ItemIsEnabled);
}
addtableWidget->setRowCount(row+=1);
i++;
}
addtableWidget->setRowCount(row-=1);
addtableWidget->resizeColumnsToContents();
}
}
}
addtableWidget->setItemDelegate(new CheckDelegate);
QTableWidgetItem *item = 0;
//QSqlDatabase::database("con").open();
QSqlQuery query(QSqlDatabase::database("con"));
QSqlRecord rec;
query.setForwardOnly(true);
query.exec(QString("{CALL AddCourse(%1,%2,%3)}").arg(majoridd).arg(degreeid).arg(termid));
if(!query.isActive())
{
QMessageBox::warning(this, "خطا",
"لطÙا با پشتيباني تماس بگيريد");
}
else
{
int row = 1;
addtableWidget->setRowCount(row);
addlist.clear();
int i = 0;
while (query.next())
{
// rec = query.record();
addtableWidget->setItem(i,0,item = new QTableWidgetItem);
item->setFlags(Qt::ItemIsEnabled|Qt::ItemIsUserCheckable);
item->setCheckState( Qt::Unchecked);
rec = query.record();
addlist.insert(i,rec.value(0).toInt());
for(int j = 1 ; j<=8 ; j++)
{
QTableWidgetItem *item1 = new QTableWidgetItem(rec.value(j).toString());
addtableWidget->setItem(i,j,item1);
item1->setFlags(Qt::ItemIsEnabled);
}
addtableWidget->setRowCount(row+=1);
i++;
}
addtableWidget->setRowCount(row-=1);
addtableWidget->resizeColumnsToContents();
}
}
QSqlDatabase::database("con").close();
}
To copy to clipboard, switch view to plain text mode
i guese my problem is QTableWidget can anyone help me?
Bookmarks