您的位置:首页 > 编程语言 > Qt开发

Qt数据库处理时候注意的小结1

2016-01-19 18:44 411 查看
问题:

数据库无法多次插入是怎么回事?

经过一个下午的实验之后,明白了一件十分重要的事情。数据库的建立以及绑定已经完成并且绑定好了,为什么自己的数据根本没有办法正常的插入进去了呢?

代码:

MainWindow::MainWindow(QGraphicsView *parent) :
QGraphicsView(parent)
{
tablemodel = new QSqlTableModel;
tablemodel->setTable("picture");
tablemodel->select();
AddButton = new QPushButton(tr("ADD"),this);
scene = new QGraphicsScene;

connect(AddButton,SIGNAL(clicked(bool)),this,SLOT(addpicture()));
}

void MainWindow::addpicture()
{
QString file = QFileDialog::getOpenFileName(this,tr("open file"),".",
tr("*.gif , *.png , *.jpg"));
if(file == NULL)
{
return;
}
int rowcount = tablemodel->rowCount();
qDebug() << file << rowcount;
int row = rowcount;
tablemodel->insertRows(row,1);
tablemodel->setData(tablemodel->index(row,0),rowcount+1);
//当时写的是tablemodel>setData(tablemodel-//>index(row,0),rowcount);
//这里和创建的id重复了

tablemodel->setData(tablemodel->index(row,1),"OK");
tablemodel->setData(tablemodel->index(row,2),file);
tablemodel->submitAll();

}


全程没有问题,出现错误的地方只有一个那就是插入一个键值的时候出现了重复,那么这个插入动作将会到了键值重复处停止插入。

当和第一个键值重复的时候,看起来就像没有插入一样。

原来是这么简单的错误啊。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: