本文整理汇总了C++中QSqlTableModel::setData方法的典型用法代码示例。如果您正苦于以下问题:C++ QSqlTableModel::setData方法的具体用法?C++ QSqlTableModel::setData怎么用?C++ QSqlTableModel::setData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QSqlTableModel
的用法示例。
在下文中一共展示了QSqlTableModel::setData方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SubmitButton
void Liveinfo::SubmitButton()
{
// bool a,b,c;
if(NameEdit->text().isEmpty() || ContactEdit->text().isEmpty() || IDEdit->text().isEmpty() ||
DaysEdit->text().isEmpty() || DespoitEdit->text().isEmpty())
{
QMessageBox::critical(0,QObject::tr("Error!"),QObject::tr("Please Fill them all!"),QMessageBox::Cancel);
}
else
{
QString Ename = NameEdit->text();
QString Econtact = ContactEdit->text();
QString EID = IDEdit->text();
QString Edays = DaysEdit->text();
QString Edeposit = DespoitEdit->text();
QDate cudate = QDate::currentDate();
cudate = cudate.addDays(Edays.toInt());
Eetime = cudate.toString("yyyy-MM-dd");
QSqlTableModel *insertGuest = new QSqlTableModel; //修改Guest中的记录
insertGuest->setTable("Guest");
insertGuest->select(); // 只要指定Row=0即可插入新行
int row = 0;
insertGuest->insertRows(row,1);
insertGuest->setData(insertGuest->index(row, 0), QVariant(Ename));
insertGuest->setData(insertGuest->index(row, 1), QVariant(EID));
insertGuest->setData(insertGuest->index(row, 2), QVariant(Econtact));
insertGuest->setData(insertGuest->index(row, 3), QVariant(RoomNum));
// a = insertGuest->submit();
insertGuest->submit();
QSqlTableModel *insertRecord = new QSqlTableModel; //修改Record中的记录
insertRecord->setTable("Record");
insertRecord->select();
insertRecord->insertRows(row,1);
insertRecord->setData(insertRecord->index(row,0),QVariant(Ename));
insertRecord->setData(insertRecord->index(row,1),QVariant(RoomNum));
insertRecord->setData(insertRecord->index(row,2),QVariant(Edays));
insertRecord->setData(insertRecord->index(row,3),QVariant(Edeposit));
insertRecord->setData(insertRecord->index(row,4),QVariant(Estime));
insertRecord->setData(insertRecord->index(row,5),QVariant(Eetime));
// b = insertRecord->submit();
insertRecord->submit();
UpdateRoom(RoomNum,1); //修改已入住的房间
// if(a && b && c)
// {
QMessageBox msgBox;
msgBox.setText("Succeed to live in! Welcome");
msgBox.exec();
// }
QDialog::accept();
}
}
示例2: increaseAlbumCount
void Dialog::increaseAlbumCount(QModelIndex artistIndex)
{
QSqlTableModel *artistModel = model->relationModel(2);
QModelIndex albumCountIndex;
albumCountIndex = artistIndex.sibling(artistIndex.row(), 2);
int albumCount = albumCountIndex.data().toInt();
artistModel->setData(albumCountIndex, QVariant(albumCount + 1));
}
示例3: importData
void MainWindow::importData()
{
int exam_id;
QString dataFileName = QFileDialog::getOpenFileName(this,tr("Import Data From a CSV File"),QDir::homePath(),tr("CSV File (*.csv)"));
if(dataFileName.isEmpty())
return;
QFile dataFile(dataFileName);
if(!dataFile.open(QIODevice::ReadOnly))
{
QMessageBox::critical(this,tr("Open File Failed"),tr("Cannot open selected file"));;
return;
}
QSqlTableModel* student = m_scoreView->studentListModel();
QSqlTableModel* exam = m_scoreView->examListModel();
QSqlRelationalTableModel* score = m_scoreView->scoreListModel();
QFileInfo tmp(dataFileName);
QString exam_name = tmp.baseName();
exam->setFilter(QString("name = \'%1\'").arg(exam_name));
if(exam->rowCount() == 1)
{
QSqlRecord rq = exam->record(0);
exam_id = rq.value("id").toInt();
}
else
{
exam->insertRow(0);
exam->setData(exam->index(0,Global::Exam_Name),exam_name);
exam->submitAll();
exam->setFilter(QString("name = \'%1\'").arg(exam_name));
QSqlRecord rq = exam->record(0);
exam_id = rq.value("id").toInt();
}
QHash<QString,int> studentMap;
for(int row = 0;row < student->rowCount();++row)
studentMap.insert(student->data(student->index(row,1)).toString(),student->data(student->index(row,0)).toInt());
QTextStream in(&dataFile);
QString record = in.readLine();
QStringList candidate_seps;
candidate_seps << ";" << "," << "\t" << " ";
QString real_sep;
bool is_legal = false;
QStringList cols;
foreach(real_sep, candidate_seps)
{
cols = record.split(real_sep);
if(cols.size() == 11)
{
is_legal = true;
break;
}
}
示例4: appendDataAfterCurrent
void MainWindow::appendDataAfterCurrent() {
if(ui->articleList->currentIndex().isValid()) {
int res = insertDlg->exec();
if(res == QDialog::Accepted) {
QSqlTableModel* mdl = mysqlDataModel->getMapTableModel();
int newRowIndex = ui->articleList->currentIndex().row() + 1;
if(!mysqlDataModel->articleExists(insertDlg->getArticleName().toUpper().toStdString())) {
mdl->insertRows(newRowIndex, 1);
mdl->setData(mdl->index(newRowIndex, 1), insertDlg->getArticleName().toUpper());
mdl->setData(mdl->index(newRowIndex, 2), insertDlg->getArticleDescription());
mdl->setData(mdl->index(newRowIndex, 3), QString::fromStdString(TriangleNumber::getBindedStrID(insertDlg->getVote())));
mdl->submitAll();
mdl->select();
}
}
}
}
示例5: areaUpdateCombo
void SupplierManageWindow::areaUpdateCombo(bool select)
{
QSqlTableModel *ptrModel = m_model->relationModel(SupplierManageWindow::idArea);
if(select)
ptrModel->select();
ptrModel->insertRow(0);
ptrModel->setData(ptrModel->index(0, ptrModel->fieldIndex("name")),
trUtf8("-- Seleccione Rubro --"), Qt::EditRole);
cb_area->setModel(ptrModel);
cb_area->setModelColumn(ptrModel->fieldIndex("name"));
cb_area->setCurrentIndex(0);
}
示例6: changeVoteMark
void MainWindow::changeVoteMark() {
if(ui->articleList->currentIndex().isValid()) {
int res = changeMarkDlg->exec();
if(res == QDialog::Accepted) {
QSqlTableModel* mdl = mysqlDataModel->getMapTableModel();
int rowIndex = ui->articleList->currentIndex().row();
mdl->setData(mdl->index(rowIndex, 3), QString::fromStdString(TriangleNumber::getBindedStrID(changeMarkDlg->getVoteMark())));
mdl->submitAll();
mdl->select();
}
}
}
示例7: decreaseAlbumCount
void MainWindow::decreaseAlbumCount(QModelIndex artistIndex)
{
int row = artistIndex.row();
QModelIndex albumCountIndex = artistIndex.sibling(row, 2);
int albumCount = albumCountIndex.data().toInt();
QSqlTableModel *artists = model->relationModel(2);
if (albumCount == 1) {
artists->removeRow(row);
showImageLabel();
} else {
artists->setData(albumCountIndex, QVariant(albumCount - 1));
}
}
示例8: qDebug
void ChengjiaoQianyueDialog::on_pushButton_3_clicked(){
qDebug() << "add";
QSqlTableModel * model = this->dbcon->qianyue;
int row = this->tableViewqianyue->currentIndex().row();
model->setData(model->index(row, 0), this->comboBoxFang->currentText());
model->setData(model->index(row, 1), this->comboBoxKe->currentText());
model->setData(model->index(row, 2), this->comboBoxRen->currentText());
model->setData(model->index(row, 3), this->spinBoxYongjin->text().toInt());
model->setData(model->index(row, 4), this->comboBoxFen->currentText());
model->setData(model->index(row, 5), this->spinBoxBianhao->text().toInt());
model->submitAll();
}
示例9: on_pushButton_clicked
bool ChangePassword::on_pushButton_clicked()
{
if (ui->new_2->text()!= ui->new_3->text())
{
QMessageBox::information(this, tr("警告!"),tr("两次输入的密码不一致,请重新输入!"));
ui->new_2->clear();
ui->new_3->clear();
return false;
}
root.open();
QSqlTableModel *user = new QSqlTableModel(this,root);
user->setTable("user");
user->setFilter(tr("user='%1' and password = '%2'").arg(username,ui->old->text()));
user->select();
if (user->rowCount() <= 0)
{
QMessageBox::information(this, tr("警告!"),tr("密码输入错误,请重新输入!"));
root.close();
return false;
}
else
{
user->setData(user->index(0,1),ui->new_2->text());
user->submitAll();
root.close();
QMessageBox::information(this, tr(" 修改成功!"),tr("密码修改成功!!"));
close();
return true;
}
root.close();
}
示例10: sql_intro_snippets
void sql_intro_snippets()
{
{
//! [26]
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("bigblue");
db.setDatabaseName("flightdb");
db.setUserName("acarlson");
db.setPassword("1uTbSbAs");
bool ok = db.open();
//! [26]
Q_UNUSED(ok);
}
{
//! [27]
QSqlDatabase firstDB = QSqlDatabase::addDatabase("QMYSQL", "first");
QSqlDatabase secondDB = QSqlDatabase::addDatabase("QMYSQL", "second");
//! [27]
}
{
//! [28]
QSqlDatabase defaultDB = QSqlDatabase::database();
//! [28] //! [29]
QSqlDatabase firstDB = QSqlDatabase::database("first");
//! [29] //! [30]
QSqlDatabase secondDB = QSqlDatabase::database("second");
//! [30]
}
{
// SELECT1
//! [31]
QSqlQuery query;
query.exec("SELECT name, salary FROM employee WHERE salary > 50000");
//! [31]
//! [32]
while (query.next()) {
QString name = query.value(0).toString();
int salary = query.value(1).toInt();
qDebug() << name << salary;
}
//! [32]
}
{
// FEATURE
//! [33]
QSqlQuery query;
int numRows;
query.exec("SELECT name, salary FROM employee WHERE salary > 50000");
QSqlDatabase defaultDB = QSqlDatabase::database();
if (defaultDB.driver()->hasFeature(QSqlDriver::QuerySize)) {
numRows = query.size();
} else {
// this can be very slow
query.last();
numRows = query.at() + 1;
}
//! [33]
}
{
// INSERT1
//! [34]
QSqlQuery query;
query.exec("INSERT INTO employee (id, name, salary) "
"VALUES (1001, 'Thad Beaumont', 65000)");
//! [34]
}
{
// NAMED BINDING
//! [35]
QSqlQuery query;
query.prepare("INSERT INTO employee (id, name, salary) "
"VALUES (:id, :name, :salary)");
query.bindValue(":id", 1001);
query.bindValue(":name", "Thad Beaumont");
query.bindValue(":salary", 65000);
query.exec();
//! [35]
}
{
// POSITIONAL BINDING
//! [36]
QSqlQuery query;
query.prepare("INSERT INTO employee (id, name, salary) "
"VALUES (?, ?, ?)");
query.addBindValue(1001);
query.addBindValue("Thad Beaumont");
query.addBindValue(65000);
query.exec();
//! [36]
}
//.........这里部分代码省略.........
示例11: saveUnits
void Database::saveUnits(QString userName, QList<Unit> units)
{
QSqlTableModel model;
model.setTable("user");
model.select();
QString saveName;
for (int i=0; i<model.rowCount(); ++i)
{
QSqlRecord record = model.record(i);
if (record.value("name").toString()==userName)
{
saveName=record.value("id").toString();
break;
}
}
saveName.prepend("save");
model.setTable(saveName);
int row=0, line=0;
model.select();
model.removeRows(row, model.rowCount());
model.submitAll();
while(line<units.size())
{
model.insertRows(row,1);
model.setData(model.index(row,0), line+1);
model.setData(model.index(row,1), units[line].imageFileName);
model.setData(model.index(row,2), units[line].faceLeft);
model.setData(model.index(row,3), units[line].vLocation);
model.setData(model.index(row,4), units[line].hLocation);
model.setData(model.index(row,5), units[line].hitPoints);
model.setData(model.index(row,6), units[line].totalHitPoints);
model.setData(model.index(row,7), units[line].actionTime);
model.setData(model.index(row,8), units[line].actionRate);
model.setData(model.index(row,9), units[line].movementRange);
model.setData(model.index(row,10), units[line].attackRange);
model.setData(model.index(row,11), units[line].attackPower);
model.setData(model.index(row,12), units[line].status);
model.setData(model.index(row,13), units[line].maskFileName);
model.setData(model.index(row,14), units[line].team);
model.setData(model.index(row,15), units[line].unitWorth);
model.submitAll();
line++;
}
}
示例12: on_confirm_clicked
void estore::on_confirm_clicked()
{
int num = ui->num->text().toInt();
QSqlTableModel model;
model.setTable("commodity");
model.setFilter(tr("number = '%1'").arg(num));
model.select();
if(model.rowCount()==1)//查询到有一个结果
{
QString name =model.record(0).value("name").toString();
QString description =model.record(0).value("description").toString();
double primeprice = model.record(0).value("primeprice").toDouble();
double saleprice = model.record(0).value("saleprice").toDouble();
int column = model.record(0).value("column").toInt();
int sum = model.record(0).value("sum").toInt();
double discount = model.record(0).value("discount").toDouble();
QString publishmentbrand =model.record(0).value("publishmentbrand").toString();
QString ISBNmaterialcolumn =model.record(0).value("ISBNmaterialcolumn").toString();
QString date =model.record(0).value("date").toString();
QString pagenumbersizeweight =model.record(0).value("pagenumbersizeweight").toString();
QString si = ui->sum->text();
int suminput= si.toInt();
int numflag1=1;
for(int i=0;i<si.size();i++)
if ((si[i]<'0')||(si[i]>'9'))
{
numflag1=0;
break;
}
if(si.size()==0)
{
QMessageBox::critical(NULL, "错误","数量未填写!");
}
else if(numflag1==0)
{
QMessageBox::critical(NULL, "错误","数量填写格式错误!");
}
else if(suminput > sum )
{
QMessageBox::warning(NULL, tr("错误"), tr("输入商品数量大于库存!"));
}
else
{
confirm c(name, suminput);
if(c.exec()==QDialog::Accepted)
{
if (addTrolley(num, name, description, primeprice, saleprice,column, suminput, discount, publishmentbrand, ISBNmaterialcolumn, date, pagenumbersizeweight))
{
model.setData(model.index(0,6),sum-suminput);
model.submitAll();
QMessageBox::information(NULL, tr("成功"), tr("商品成功添加至购物车!"));
accept();
}
}
}
}else
{
QMessageBox::warning(NULL, tr("错误"), tr("未查询到商品!"));
}
}
示例13: saveDocument
bool DocumentSaverDB::saveDocument(KraftDoc *doc )
{
bool result = false;
if( ! doc ) return result;
QSqlTableModel model;
model.setTable("document");
QSqlRecord record;
kDebug() << "############### Document Save ################" << endl;
if( doc->isNew() ) {
record = model.record();
} else {
model.setFilter("docID=" + doc->docID().toString());
model.select();
if ( model.rowCount() > 0 ) {
record = model.record(0);
} else {
kError() << "Could not select document record" << endl;
return result;
}
// The document was already saved.
}
if( !doc->isNew() && doc->docTypeChanged() && doc->newIdent() ) {
// an existing doc has a new document type. Fix the doc number cycle and pick a new ident
DocType dt( doc->docType() );
QString ident = dt.generateDocumentIdent( doc );
doc->setIdent( ident );
}
fillDocumentBuffer( record, doc );
if( doc->isNew() ) {
kDebug() << "Doc is new, inserting" << endl;
if( !model.insertRecord(-1, record)) {
QSqlError err = model.lastError();
kDebug() << "################# SQL Error: " << err.text();
}
model.submitAll();
dbID id = KraftDB::self()->getLastInsertID();
doc->setDocID( id );
// get the uniq id and write it into the db
DocType dt( doc->docType() );
QString ident = dt.generateDocumentIdent( doc );
doc->setIdent( ident );
model.setFilter("docID=" + id.toString());
model.select();
if ( model.rowCount() > 0 ) {
model.setData(model.index(0, 1), ident);
model.submitAll();
}
} else {
kDebug() << "Doc is not new, updating #" << doc->docID().intID() << endl;
record.setValue( "docID", doc->docID().toString() );
model.setRecord(0, record);
model.submitAll();
}
saveDocumentPositions( doc );
kDebug() << "Saved document no " << doc->docID().toString() << endl;
return result;
}
示例14: on_confirm_clicked
void event::on_confirm_clicked()
{
QString discount = ui->discount->text();
int numflag1=1,a=1;
for(int i=0;i<discount.size();i++)
if ((discount[i]<'0')||(discount[i]>'9'))
{
numflag1=0;
break;
}
if(numflag1==0)
{
QMessageBox::critical(NULL, "警告","折扣输入格式有误!");
a=0;
}
float dis = discount.toFloat();
if(dis<1||dis>100)
{
QMessageBox::critical(NULL, "警告","折扣输入格式有误!");
a=0;
}
float d =1-dis/100;
if(ui->book->isChecked())
{
QSqlTableModel model;
model.setTable("commodity");
model.setFilter(QObject::tr("column = 1 ")); //根据类别进行筛选
model.select(); //显示结果
for (int i = 0; i < model.rowCount(); i++)
{
qDebug()<<model.record(i);
qDebug()<<d;
model.setData(model.index(i,7),d);
double p= model.record(i).value("primeprice").toFloat();
double a = d*p;
int yy = (int)(a*100+1.0e-6);
double b = (double)yy/100;
model.setData(model.index(i,4),b);
model.submitAll();
qDebug()<<model.record(i);
}
if(a==1)
{
QMessageBox::information(NULL, "成功","信息更改成功!");
accept();
}
}
else if(ui->clothes->isChecked())
{
QSqlTableModel model;
model.setTable("commodity");
model.setFilter(QObject::tr("column = 2 ")); //根据类别进行筛选
model.select(); //显示结果
for (int i = 0; i < model.rowCount(); i++)
{
qDebug()<<model.record(i);
qDebug()<<d;
model.setData(model.index(i,7),d);
double p= model.record(i).value("primeprice").toFloat();
double a = d*p;
int yy = (int)(a*100+1.0e-6);
double b = (double)yy/100;
model.setData(model.index(i,4),b);
model.submitAll();
qDebug()<<model.record(i);
}
if(a==1)
{
QMessageBox::information(NULL, "成功","信息更改成功!");
accept();
}
}
else if(ui->food->isChecked())
{
QSqlTableModel model;
model.setTable("commodity");
model.setFilter(QObject::tr("column = 3 ")); //根据类别进行筛选
model.select(); //显示结果
qDebug()<<model.rowCount();
for (int i = 0; i < model.rowCount(); i++)
{
qDebug()<<model.record(i);
qDebug()<<d;
model.setData(model.index(i,7),d);
double p= model.record(i).value("primeprice").toFloat();
double a = d*p;
int yy = (int)(a*100+1.0e-6);
double b = (double)yy/100;
model.setData(model.index(i,4),b);
model.submitAll();
qDebug()<<model.record(i);
}
if(a==1)
{
QMessageBox::information(NULL, "成功","信息更改成功!");
accept();
}
}
//.........这里部分代码省略.........