qt编程中如何为QSqlquery对象指定数据库
发布网友
发布时间:2022-04-09 13:25
我来回答
共5个回答
热心网友
时间:2022-04-09 14:55
data.h
#define DB_SALES_DRIVER "QMYSQL3"
#define DB_SALES_DBNAME "CAAS"
#define DB_SALES_USER "root"
#define DB_SALES_PASSWD ""
#define DB_SALES_HOST ""
main.cpp
#include <qapplication.h>
#include <qsqldatabase.h>
#include <qsqlquery.h>
#include <qsqlcursor.h>
#include <qtextedit.h>
#include <qstring.h>
#include <qtextcodec.h>
#include <qvbox.h>
#include "data.h"
#include <stdio.h>
#include <qpushbutton.h>
class MyQVBox : public QVBox
{
public:
MyQVBox( QWidget *parent=0, const char *name=0 );
//public slots:
// refValue(QSrting lzw);
};
MyQVBox::MyQVBox( QWidget *parent, const char *name )
: QVBox( parent, name )
{
QString Lzw("\n");
QSqlDatabase *defaultDB = QSqlDatabase::addDatabase(DB_SALES_DRIVER);
if ( defaultDB )
{
defaultDB->setDatabaseName( DB_SALES_DBNAME );
defaultDB->setUserName( DB_SALES_USER );
defaultDB->setPassword( DB_SALES_PASSWD );
defaultDB->setHostName( DB_SALES_HOST );
if ( defaultDB->open() )
{
//插入数据
QSqlQuery query("INSERT INTO test(ID,Name,Age) VALUES(1155, 'Ginger', 125);" );
//提取数据
QSqlCursor cur( "test" ); // 指定表/视图名称
cur.select(); // 我们将检索每一条记录
while ( cur.next() )
{
qDebug( cur.value( "ID" ).toString() + ": " +
cur.value( "Name" ).toString() + " " +
cur.value( "Age" ).toString() );
Lzw.append(cur.value( "ID" ).toString() + ": " +
cur.value( "Name" ).toString() + " " +
cur.value( "Age" ).toString()+"\n");
}
//qDebug(Lzw);
printf("aaaaaaa");
}
}
QString ustr = (QTextCodec::codecForLocale())->toUnicode(Lzw);
QString sstr = (QTextCodec::codecForLocale())->toUnicode("刷新");
QTextEdit *myEdit = new QTextEdit(this,0);
myEdit->setText(ustr);
QPushButton *quit = new QPushButton(sstr, this, "quit" );
connect( quit, SIGNAL(clicked()), qApp, SLOT(quit()) );
}
int main( int argc, char *argv[] )
{
QApplication app( argc, argv );
MyQVBox *mybox = new MyQVBox(0,0);
//mybox->setText(ustr);
app.setMainWidget(mybox);
mybox->show();
return app.exec();
}
热心网友
时间:2022-04-09 16:13
QString m_databasePath;
QSqlDatabase m_conn;
QSqlQuery m_query;
m_databasePath = "DRIVER={Driver do Microsoft Access (*.mdb)};FIL={CONN_NAME};DBQ=./DataFile/SettleData.mdb";
m_conn = QSqlDatabase::addDatabase("QODBC","my_conn");
m_conn.setDatabaseName(m_databasePath);
if(!m_conn.open())
{
qDebug()<<__LINE__<<"open the database fail!"<<endl;
return false;
}
m_query = QSqlQuery(m_conn);
m_query.prepare("select * from 站点管理");
m_query.exec();
热心网友
时间:2022-04-09 17:47
创建数据库实例的时候指定我是硕黑船员,我黑华硕,我为神船带盐-_-+
热心网友
时间:2022-04-09 19:39
初始化的时候指定的,具体请看文档
热心网友
时间:2022-04-09 21:47
数据库类型还是数据库文件?