Qt之QsqlQuery建立插入数据
学习目标:
QsqlQuery建立插入数据
代码:
QSqlDatabase database; database=QSqlDatabase::addDatabase("QMYSQL","first");//第二个参数 在需要连接多个数据库的时候 需要指定连接名,可随意取名 database.setHostName("127.0.0.1"); database.setPort(3306); database.setUserName("root"); database.setPassword("123456"); database.setDatabaseName("st");//连接st这个数据库 if(!database.open()) { qDebug()<<"fail to connect mysql"<<database.lastError().text(); } else { qDebug()<<"open sucess"; } QSqlQuery query(database); query.exec("create table student(id int primary Key , name varchar(255), age int ,score int);"); // //插入 // query.exec("insert into student(id, name, age,score) values(1, Mike, 18, 59);"); //批量插入 //odbc风格 // ?相当于占位符 query.prepare("insert into student(id, name, age,score) values(?, ?, ?, ?);"); //给字段设置内容 list //给字段设置相应的值 QVariantList idList; idList<<101<<102<<103<<104; QVariantList nameList; nameList<<"xiaoming"<<"xiaozheng"<<"xiaoli"<<"lihua"; QVariantList ageList; ageList<<18<<19<<20<<21; QVariantList scoreList; scoreList<<60<<61<<62<<63; //给字段把那个定相应的值 按顺序绑定 query.addBindValue(idList); query.addBindValue(nameList); query.addBindValue(ageList); query.addBindValue(scoreList); //执行预处理命令 query.execBatch(); /*-------------------------------------------------------*/ /* //Oracle风格 //占位符为 :+自定义名字 query.prepare("insert into student(id, name, age,score) values(:id, :name, :age, :score);"); //给字段设置内容 list //给字段设置相应的值 QVariantList idList; idList<<101<<102<<103<<104; QVariantList nameList; nameList<<"xiaoming"<<"xiaozheng"<<"xiaoli"<<"lihua"; QVariantList ageList; ageList<<18<<19<<20<<21; QVariantList scoreList; scoreList<<60<<61<<62<<63; query.bindValue(":id",idList); query.bindValue(":name",nameList); query.bindValue(":age",ageList); query.bindValue(":score",scoreList); query.execBatch(); */
下一篇:
.xml文件中添加SQL数,返回主键ID