Gremlin92
@Gremlin92
Целеустремленный

Не пишет по русски в консоли?

Нашел в интернете код для создания dbf баз, то ли таблиц данных, и происходит ошибка sql при открытии базы а там кракозябры, qt6
...
#include <QtSql/qsqldatabase.h>
#include <QtSql/qsqlerror.h>
#include <QtSql/qsqlquery.h>
#pragma comment(lib,"Qt6Sqld.lib")
...
    QSqlDatabase dbase = QSqlDatabase::addDatabase("QODBC");
    dbase.setDatabaseName("Driver={Microsoft dBase Driver (*.dbf)};SourceType=DBF;");
    if (!dbase.open()) {
        qDebug() << "Ошибка SQL>" << dbase.lastError().text();
        return;
    }
    QSqlQuery query(dbase);
    query.exec("CREATE TABLE D:\\TABLE(field integer, field2 integer)");
...

650347b45dac4970086221.png
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
Gremlin92
@Gremlin92 Автор вопроса
Целеустремленный
Так решил, но дбф кода не найти
#include <QtSql/qsqldatabase.h>
#include <QtSql/qsqlerror.h>
#include <QtSql/qsqlquery.h>

#include <iostream>
#pragma comment(lib,"Qt6Sqld.lib")

...
    QSqlDatabase dbase = QSqlDatabase::addDatabase("QODBC");
    dbase.setDatabaseName("Driver={Microsoft dBase Driver (*.dbf)};SourceType=DBF;");
    if (!dbase.open()) {
        setlocale(LC_ALL, "ru_RU.UTF-8");
        std::cout<< "Ошибка SQL>" << dbase.lastError().text().toStdString();
        return;
    }
    QSqlQuery query(dbase);
    query.exec("CREATE TABLE D:\\TABLE(field integer, field2 integer)");
...

65035087a5d4c527644723.png
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы