百度空间 | 百度首页 
 
查看文章
 
qt sql clean
2009-11-02 11:09

//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


类别:Qt | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu