我有这样的问题: 我开发了一个简单的数据库(PostgreSql)。 它保留在列(列名:“ascii”)中的一个功能是从文件读取的大文本数据(2000行)(表中的数据类型是BYTEA)。 以下是我插入数据的代码示例:
QFile *asciiFile = new QFile(ui->ascii_lineEdit->text());
asciiFile->open(QIODevice::ReadOnly);
QByteArray asciiArray = asciiFile->readAll();
qDebug() << asciiArray;
QSqlQuery *sourceQuery = new QSqlQuery();
sourceQuery->prepare("INSERT INTO source (image, image_material, archive, ascii, about) VALUES (:image, :image_material, :archive, :ascii, :about)");
sourceQuery->bindValue(":image", graphArray.toBase64());
sourceQuery->bindValue(":image_material", materialArray.toBase64());
sourceQuery->bindValue(":archive", archiveArray.toBase64());
sourceQuery->bindValue(":ascii", asciiArray.toBase64());
sourceQuery->bindValue(":about", ui->about_textEdit->toPlainText());
sourceQuery->exec();
再次,保留的列(“ascii”)的数据类型是BYTEA。 现在我尝试读取这些数据(接近2000行)并且它们也没有显示出来。 我尝试这种方法:
QByteArray asciiArray = QSqlQuery query = connector->getSourceAscii(item_id);
query.next();
QByteArray asciiArray = QByteArray::fromBase64(query.value("ascii").toByteArray());
QString *result = new QString(asciiArray);
qDebug() << *result;
它必须是数字行但我有这样的东西: 瓦特߇ķۇŽ燸wӇk{瓦特}; {X { ķ[KP {kxkx߾{ķ{瓦特ㇸ
我需要的线条的例子:
2490 0,21979421377182 4,82690520584583E-02
2491 0,226718083024025 4,33071963489056E-02
你有什么建议吗?感谢。