• 4004阅读
  • 1回复

我在win7 64bit  系统下读取文件失败 [复制链接]

上一主题 下一主题
离线anubiskong
 

只看楼主 倒序阅读 楼主  发表于: 2010-11-12
— 本帖被 XChinux 执行加亮操作(2010-11-12) —
以下程序在32位系统下好用,在win7 64位下报错
  1. bool testfile(){    QString filename = "C:\\test.txt";    if(!QFile::exists (filename)){        qDebug() << "file is not exists";        return false;    }    QFile file(filename);    qDebug() << file.size ();    if(!file.open(QIODevice::ReadOnly)){        qDebug() << "open failed!" << file.error ();        file.close ();        return false;    }    QByteArray Data = file.readAll ();
  2.     //db
  3.     QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); //连接数据库 ,需要mysql数据库驱动    db.setHostName("localhost");    db.setDatabaseName("test"); // 我们之前建立的数据库    db.setUserName("root"); // 我们创建的 yunfan 用户名    db.setPassword("123"); // yunfan 用户的密码    if (!db.open()){        qDebug() << "Cannot open database";        return false;    }else{        qDebug() << "connect success!";    }
  4.     QSqlQuery query(db);
  5.     query.prepare ("INSERT INTO filetest (filename , file ) VALUES( :name , :file )");
  6.     query.bindValue(":name", filename);    query.bindValue(":file", Data);
  7.     if(query.exec()){        qDebug() << "file update success!!! again!!";        db.close();        return true;    }else{        QSqlError error = query.lastError();        qDebug() << error;        db.close();        return false;    }}

报错:
  1. QSqlError(2036, "QMYSQL3: Unable to bind value", "Using unsupported buffer type: -1163005939  (parameter: 1)") 

请问这是为什么,我如何能写出兼容32 位和64位的代码?



[ 此帖被anubiskong在2010-11-12 16:10重新编辑 ]
离线anubiskong

只看该作者 1楼 发表于: 2010-11-12
服了,这个论坛的代码显示怎么这么烂
快速回复
限100 字节
 
上一个 下一个