码迷,mamicode.com
首页 > 数据库 > 详细

Qt操作数据库中出现的问题

时间:2014-09-14 22:10:07      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:qt

        最近在用Qt编写一个小的项目,前几今天都好好的,数据库一点问题都没有,今天不知道怎么了,老是出现乱码,怎么改都不行,想了半天自己也没有改什么不该改的地方啊,纠结了一天,哎!自己昨天的程序还都能运行,没有出现错误,今天的程序就是不行了!貌似程序和自己过不去似得,就在刚才终于解决了这个问题,no!不能说是解决了,只是没有乱码而已,现在还不知道是出了什么问题导致的。我的数据库中部分代码是这样的:

/*创建数据里并链接*/
static bool createConnection()
{
    QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
    QSqlDatabase db;            //创建一个数据库
    if(QSqlDatabase::contains("qt_sql_default_connection"))
    {
        db = QSqlDatabase::database("qt_sql_default_connection");
    }
    else
    {
        db = QSqlDatabase::addDatabase("QSQLITE");
    }
    //db.setHostName("localhost");
    db.setDatabaseName("SupSystem.db");  //设置数据库的名字
    //db.setUserName("root");
    //db.setPassword("123456");
    if(!db.open())
    {
        qCritical("Can't open database: %s(%s)",
                  db.lastError().text().toLocal8Bit().data(),
                  qt_error_string().toLocal8Bit().data());

        return false;
    }

    QSqlQuery query;
    /***************************员  工  表 *****************************/
    query.exec(QObject::tr("create table user(User_Id integer primary key AUTOINCREMENT,"
                           "User_Name vchar(100) ,User_Sex vchar(10),"
                           "User_Age vchar(100),User_Pwd vchar(20))"));
    query.exec(QObject::tr("insert into user values (1000,'admin 超级管理员','男','20','lq')"));
    query.exec(QObject::tr("insert into user values (1001,'小张 管理员','女','22','1001')"));
//此处省略其他的……
}
网上都说只要加了QObject::tr就行了,但是我的还是不行,不知道为什么,很是纠结。我在主函数里面也加了转码语句了:

    QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));//支持中文文件名显示
结果是,依然乱码。

百度看了http://blog.csdn.net/brave_heart_lxl/article/details/7186631这位大神的文章,写的很好,可我的问题还没有解决。

如果你也遇到了相似的问题,可以一起交流。



Qt操作数据库中出现的问题

标签:qt

原文地址:http://blog.csdn.net/u013704336/article/details/39273609

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!