查看文章 |
//start #include <QtCore/QCoreApplication> #include <QSqlDatabase> #include <QDebug> #include <QSqlQuery> #include <QSqlRecord> #include <QVariant> #include <QFile> #include <QTextStream> QSqlDatabase conn; QSqlDatabase mkconnect(QString name , QString pass , QString host,QString database); void dosql(); int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); conn = mkconnect("************","***************","localhost","yjysqlser"); dosql(); return a.exec(); } void dosql(){ QString sql ="select * from tabST where STGrade=(:grad)"; QSqlQuery que(conn); que.prepare(sql); que.bindValue(":grad","07"); if (que.exec()){ QFile fin("raw.txt");
fin.open(QIODevice::WriteOnly|QIODevice::Text); QTextStream in(&fin);
QSqlRecord rec =que.record(); int len = rec.count(); int i; QString line; for (i=0;i<len;i++){ line+=(rec.fieldName(i)+'\t'); } qDebug()<<line; qDebug()<<"num: "<<que.numRowsAffected(); int naid =rec.indexOf("STName"); int paid = rec.indexOf("STPart"); while (que.next()){ QString out=que.value(naid).toString()+","+que.value(paid).toString(); qDebug()<<out; in<<out<<endl; } fin.flush(); fin.close(); }else{ qDebug("sql error"); } } QSqlDatabase mkconnect(QString name , QString pass , QString host,QString database){ QSqlDatabase conn = QSqlDatabase::addDatabase("QODBC"); conn.setUserName(name); conn.setPassword(pass); conn.setHostName(host); conn.setDatabaseName(database); if (!conn.open()){ qDebug()<<"connect to sqlserver error"; exit(1); }else{ qDebug()<<"conn database ok"; } return conn; }
//end |