问题:
数据库无法多次插入是怎么回事?
经过一个下午的实验之后,明白了一件十分重要的事情。数据库的建立以及绑定已经完成并且绑定好了,为什么自己的数据根本没有办法正常的插入进去了呢?
代码:
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();
}
全程没有问题,出现错误的地方只有一个那就是插入一个键值的时候出现了重复,那么这个插入动作将会到了键值重复处停止插入。
当和第一个键值重复的时候,看起来就像没有插入一样。
原来是这么简单的错误啊。