qt 连接sql server~~特急~~高手进
代码和问题如下~~请高手解决~~不胜感激~~代码:
#ifndef SQLSERVER_H
#define SQLSERVER_H
#include <QMessageBox>
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>
static bool connection(){
QSqlDatabase db=QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("DRIVER={SQL SERVER};""SERVER=SD-20100913XKPX;""DATABASE=MySale;""UID=SD-20100913XKPX;""PWD=""");
if(!db.open()){
QMessageBox::critical(0,"cannot open database",db.lastError().databaseText(),QMessageBox::Cancel);
return false;
}
else{
QMessageBox::information(0,"connect Database","connect success!!",QMessageBox::Ok);
return true;
}
QSqlQuery query;
query.exec("create table student(id int,name vchar)");
query.exec("insert into student values(0,'fatdog0')");
return true;
}
#endif // SQLSERVER_H --------------------编程问答--------------------
db = QSqlDatabase::addDatabase("QODBC");
QString dsn = QString("DRIVER={SQL SERVER};")+QString("SERVER=%1%2").arg(m_hostname).arg(";")+ QString("DATABASE=%1").arg(m_dbname);
db.setDatabaseName(dsn);
db.setUserName(m_username);
db.setPassword(m_passward);
if(!db.open())
{
QMessageBox::critical(0, QObject::tr("Database Error"),db.lastError().text());
return false;
} --------------------编程问答-------------------- 这个可以成功,但不知道有没有可供您借鉴的:
bool ProcessScopeDialog::OutputReportToExcelFile(QString &strFilePath)
{
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
QString dbname="Driver={Microsoft Excel Driver (*.xls)};Readonly=0;DriverId=790;Dbq=" + strFilePath + ";";
db.setDatabaseName(dbname);
if (db.open())
{
QSqlQuery query(db);
QString strSql = QString("DROP TABLE level");
query.exec(strSql);
strSql = "create table level(LevelNumber number, SetPressure float, FactPressure float, AbsoluteError float, RelativeError float, ErrorRange number)";
if (!query.exec(strSql))
{
db.removeDatabase("QODBC");
return false;
}
for (int i=0; i<m_systemParam.m_nShowLevelCount; i++)
{
strSql = QString("INSERT INTO [level](LevelNumber, SetPressure, FactPressure, AbsoluteError, RelativeError, ErrorRange) "
" VALUES (%1, %2, %3, %4, %5, %6)")
.arg(i+1)
.arg(m_levelVoltages[i].m_dSetPressure, 0, 'f', 2)
.arg(m_levelVoltages[i].m_dFactPressure, 0, 'f', 2)
.arg(m_levelVoltages[i].m_dAbsoluteError, 0, 'f', 2)
.arg((m_levelVoltages[i].m_dAbsoluteError / m_levelVoltages[i].m_dSetPressure) * 100.0, 0, 'f', 2)
.arg(m_levelParamsKR3001[i].m_nAllowErrorRange);
if (!query.exec(strSql))
{
db.removeDatabase("QODBC");
return false;
}
}
}
else
{
db.removeDatabase("QODBC");
return false;
}
db.removeDatabase("QODBC");
return true;
}
补充:移动开发 , Qt