<p>照着书籍打出来的代码,使用exec函数时候正常的创建了 表,然后使用插入inster into 语句插入数据的时候,exec函数返回false。不知道问题出在哪里了。求大神解答 </p>
<p>#ifndef SHUJUKU_H #define SHUJUKU_H <br /> #include <QSqlDatabase></p>
<p>#include <QMessageBox></p>
<p>#include <QSqlQuery></p>
<p>#include <QDebug></p>
<p>#include <QSqlError></p>
<p>#include <QStringList></p>
<p>static bool touxiang() //数据库操作</p>
<p>{</p>
<p>QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");</p>
<p>db.setHostName("zhanghaotou");//主机名</p>
<p>db.setDatabaseName("memory.db");//数据库文件</p>
<p>db.setUserName("admin");//用户名</p>
<p>db.setPassword("123456");//用户密码 <br /> if( !db.open())//打开数据库</p>
<p>{</p>
<p>QSqlError error=db.lastError();</p>
<p>QString list=error.databaseText();</p>
<p>QStringList::Iterator it = list.begin();</p>
<p>while( it!= list.end() )</p>
<p>{</p>
<p>qDebug() <<list;</p>
<p>++it; } <br /> return false; <br /> }</p>
<p>QSqlQuery query(db);</p>
<p>int bi=01;</p>
<p>QString nihao="nnidisas";</p>
<p>query.prepare("insert into student(id,name)values(:id,:name)");</p>
<p>query.bindValue(":id",bi);</p>
<p>query.bindValue(":name",nihao);</p>
<p>query.exec();</p>
<p>return true; }</p>
把你的建表语句和插入语句,贴出来看看。
上传不了图片 复制过来了
@tj_p: 我没有看到你的建表student的语句啊,只有创建数据库,然后就开始插入student了
@Shendu.cc query.prep那句
@Shendu.cc 书上就是这么写的 是因为没有创建表的原因么
@tj_p: 应该是的,你写一个创建表的语句再执行