• Как исправить The conversion of a nvarchar data type to a datetime data type?

    oleja1ee7
    @oleja1ee7 Автор вопроса
    Ответ оказался весьма прост, прошу прощения)
    т.к. метод функция DateChecking получала данные настоящего времени. то необходимо было преобразовать:
    DateField.Value = DateTime.Now.ToShortDateString();

    в
    const string dateTimePattern = "yyyy.MM.dd";
                DateField.Value = DateTime.Now.ToString(dateTimePattern);
    Ответ написан
    Комментировать
  • Нужна помощь с 2d платформером,не работает что делать?

    oleja1ee7
    @oleja1ee7
    Отправьте исходник, чтоб было легче понять проблему.
    Ответ написан
    Комментировать
  • Хорошие уроки по C++?

    oleja1ee7
    @oleja1ee7
    #SimpleCode - YouTube;
    Стивен Прата - Книги;
    stepik.org .
    Ответ написан
    Комментировать
  • Площадка с задачами для практики?

    oleja1ee7
    @oleja1ee7
    Ответ написан
    Комментировать
  • Как из одной TableView скопировать выбранные данные в другую TableView?

    oleja1ee7
    @oleja1ee7 Автор вопроса
    проблема решилась через tableWidget
    void reportHelp::on_tableView_doubleClicked(const QModelIndex &index)
    {
        ui->tableWidget->setRowCount(ui->tableWidget->rowCount() + 1);
        QTableWidgetItem* item = new QTableWidgetItem;
        item->setText(index.data().toString());
        item->setTextAlignment(Qt::AlignCenter);
        ui->tableWidget->setItem(ui->tableWidget->rowCount() - 1, 0, item);
    }
    Ответ написан
    Комментировать
  • Как разделить двоичную строку чисел из файла и перевести в Hex?

    oleja1ee7
    @oleja1ee7 Автор вопроса
    Решил все так:
    код программы
    #include "stdafx.h"
    #include <iostream>
    #include <fstream>
    #include <string>
    #include <sstream>
    
    using namespace std;
    
    ofstream fout("output.txt");								// открываем поток записи
    ifstream fin("input.txt");									// поток чтения из файла
    
    void divide(string buff)
    {
    	const int size16mes = 4;								// константа равная размеру отделенного сообщения
    	int buffl = buff.length();								// размер сообщения
    	string buff4 = "";										// буфер для 4символьного сообщения
    	string svar = "";										// переменная строка для одного символа
    	string itog = "";
    	if (buffl % 4 == 0) {
    		for (int j = buffl; j > 0; j = j - 4) {				// от размера сообщения, пока размер больше нуля с каждым подходом уменьшаем на 4
    			for (int i = 1; i <= size16mes; i++) {			// от 1 до 4х увеличиваем
    				svar = buff[buff.size() - 1];				// переписываем последний символ
    				buff.erase(buff.rbegin().base() - 1);		// удаляем
    				buff4.insert(0, svar);						// помещаем этот символ в новую строку на первое место
    			}
    			int dec = 0, num, v = 1;
    			for (num = buff4.length() - 1; num >= 0; num--){// перевод в 10
    				if (buff4[num] == '1')
    					dec += v;
    				v *= 2;
    			}
    			int buff10 = dec;								// результат в 10
    			stringstream stream;
    			stream << hex << buff10;
    			string result(stream.str());					// в 16
    			itog.insert(0, result);							
    			buff4 = "";										// чистим переменную
    		}
    		fout << itog << endl;								// записываем в файл
    	}
    	else {
    		int lacks = size16mes - (buffl % 4);				// не хватает
    		for (int i = 0; i < lacks; i++) {
    			buff.insert(0, "0");							// заполняем нулями
    		}
    
    		for (int j = buffl; j > 0; j = j - 4) {				// от размера сообщения, пока размер больше нуля с каждым подходом уменьшаем на 4
    			for (int i = 1; i <= size16mes; i++) {			// от 1 до 4х увеличиваем
    				svar = buff[buff.size() - 1];				// переписываем последний символ
    				buff.erase(buff.rbegin().base() - 1);		// удаляем
    				buff4.insert(0, svar);						// помещаем этот символ в новую строку на первое место
    			}
    			int dec = 0, num, v = 1;
    			for (num = buff4.length() - 1; num >= 0; num--) {// перевод в 10
    				if (buff4[num] == '1')
    					dec += v;
    				v *= 2;
    			}
    			int buff10 = dec;								// результат в 10
    			stringstream stream;
    			stream << hex << buff10;
    			string result(stream.str());					// в 16
    			itog.insert(0, result);
    			buff4 = "";										// чистим переменную
    		}
    		fout << itog << endl;								// записываем в файл
    	}
    }
    
    int main()
    {
    	setlocale(LC_ALL, "rus");								// корректное отображение Кириллицы
    	string buff;											// буфер промежуточного хранения считываемого из файла текста
    	int nummess;											// переменная в которой хранится количество двоичных сообщений
    	fin >> nummess;											// считать число количество строк
    	for (int i = 0; i < nummess; i++) {
    		fin >> buff;										// считали строку из файла
    		divide(buff);										// поместили строку в функцию для деления по 4 символа
    	}							
    	fout.close();											// закрываем поток записи в файл.
    	fin.close();											// закрываем поток чтения из файла
        return 0;
    }

    Спасибо всем за помощь
    Ответ написан
    Комментировать
  • Удаление и редактирование строки mysql из tableView?

    oleja1ee7
    @oleja1ee7 Автор вопроса

    Удаление
    void MainWindow::on_del_butt_clicked()
    {
        QSqlQueryModel *setquery1 = new QSqlQueryModel;
        QSqlTableModel *model = new QSqlTableModel;
        QItemSelectionModel *selectModel = ui->tableView->selectionModel();
        if(!selectModel->selectedRows().isEmpty())   //проверяем выделили ли строку (не пустая ли)
        {
           int nr = selectModel->selectedRows().first().row();  //вписываем номер строки
           if (QMessageBox::Yes == QMessageBox::question(this, "Удалить?",
                                 "Уверены?",
                                 QMessageBox::Yes|QMessageBox::No))
           {
                //ui->dir_excel->setText(ui->tableView->model()->data(ui->tableView->model()->index(nr,0)).toString());
                QString indid = ui->tableView->model()->data(ui->tableView->model()->index(nr,0)).toString();
                setquery1->setQuery("DELETE FROM ships WHERE id="+indid+";");
                model->setTable("ships");
                model->select();
                ui->tableView->setModel(model);
                setquery1->setHeaderData(1, Qt::Horizontal, "№ судо-потока");
                setquery1->setHeaderData(2, Qt::Horizontal, "Наименование судна");
                setquery1->setHeaderData(3, Qt::Horizontal, "Флаг");
                setquery1->setHeaderData(4, Qt::Horizontal, "Проект судна");
                setquery1->setHeaderData(5, Qt::Horizontal, "Состав судна");
                setquery1->setHeaderData(6, Qt::Horizontal, "Проект состава");
                setquery1->setHeaderData(7, Qt::Horizontal, "Судовладелец");
                setquery1->setHeaderData(8, Qt::Horizontal, "Груз (пассажиры)");
                setquery1->setHeaderData(9, Qt::Horizontal, "Тоннаж (балласт)");
                setquery1->setHeaderData(10, Qt::Horizontal, "Осадка (см)");
                setquery1->setHeaderData(11, Qt::Horizontal, "Пункт отправления");
                setquery1->setHeaderData(12, Qt::Horizontal, "Местоположение\n(река, км с.х.)");
                setquery1->setHeaderData(13, Qt::Horizontal, "Дата выхода из\n пункта отправления");
                setquery1->setHeaderData(14, Qt::Horizontal, "Пункт назначения");
                setquery1->setHeaderData(15, Qt::Horizontal, "Местоположение\n(река, км с.х.)2");
                setquery1->setHeaderData(16, Qt::Horizontal, "Дата прибытия в\n пункт назначения");
                setquery1->setHeaderData(17, Qt::Horizontal, "Дата отметки судна\n при пересечении\n границы бассейна");
                setquery1->setHeaderData(18, Qt::Horizontal, "Наименование бассейна");
                setquery1->setHeaderData(19, Qt::Horizontal, "Диспетчер ");
                ui->tableView->setModel(setquery1);
                ui->tableView->setColumnHidden(0, true);
                ui->tableView->horizontalHeader()->setStyleSheet("QHeaderView::section { background-color:silver }");
           }
        }
        else
        {
            //сообщение о том, что строка пуста
            QMessageBox::information(0, "Ошибка", "Строка не выделена.");
        }
    
    }

    а редактирование через UPDATE
    Ответ написан
    Комментировать
  • Как проверить выделение строки на QTableView?

    oleja1ee7
    @oleja1ee7 Автор вопроса
    QItemSelectionModel *selectModel = ui->tableView->selectionModel();
    selectModel->selectedRows().isEmpty()

    проверка, пустая ли строка
    Ответ написан
    Комментировать
  • Как поставить значение из qcombobox на русский?

    oleja1ee7
    @oleja1ee7 Автор вопроса
    QSettings *dbsett = new QSettings("default.ini",QSettings::IniFormat);
    dbsett->setIniCodec("UTF-8");
    //тут получение значения из бокса
    QString nu = ui->comboBox->currentText();

    dbsett->setValue("user/nameuser", nu);
    dbsett->sync();
    Ответ написан
    Комментировать
  • Как сделать вывод в excel из qtableview?

    oleja1ee7
    @oleja1ee7 Автор вопроса
    Решил все таким способом:
    заголовок
    int rows = ui->tableView->horizontalHeader()->count();
        int columns = ui->tableView->verticalHeader()->count();
        for(int k=1; k<rows;k++)
        {
            QVariant header = ui->tableView->model()->headerData(k, Qt::Horizontal);
            QAxObject *cell = StatSheet->querySubObject("Cells(QVariant,QVariant)", 1, k);
            cell->setProperty("Value", QVariant(header));
            /* 
           тут  65 строчек внешнего оформления (Переносы, цвета, фильтры, границы)
            */
            delete cell;
        }
    сами ячейки
    for(int i=2; i<=columns+1;i++)//строки
        {
            for(int j=1;j<rows;j++)//столбцы
            {
                QVariant value1 = ui->tableView->model()->data(ui->tableView->model()->index(i-2,j)); //i  - начать с 2 ячейки j - упустить первый столбец
                QAxObject* cell = StatSheet->querySubObject("Cells(QVariant,QVariant)", i, j);
                // вставка значения переменной data (любой тип, приводимый к QVariant) в полученную ячейку
                cell->setProperty("Value", QVariant(value1));
                value1="";
            }
    
        }
     // освобождение памяти
            delete StatSheet;
            mSheets->dynamicCall("Save()");
            delete mSheets;
            delete shab;//wbook;
            delete wbooks;//wbooks;
            excel->dynamicCall("Quit()");
            ui->name_excel_file->setText("");
            delete excel;
    Ответ написан
    Комментировать
  • Как загрузить БД MySQL, если выдает такую ошибку?

    oleja1ee7
    @oleja1ee7
    CREATE DATABASE namedb;
    USE namebd;
    CREATE TABLE rssbd_redirect_links (//////); / в скобках название столбцов, тип данных, через запятые. например pole1 CHAR(25)
    а тут уже ваш запрос
    Ответ написан
    Комментировать
  • Как реализовать фильтрацию в Excel через Qt?

    oleja1ee7
    @oleja1ee7 Автор вопроса
    Все решилось просто таким способом
    QAxObject *filter = cell->querySubObject("AutoFilter");
    Ответ написан
    Комментировать
  • Виноваты атрибуты на русском?

    oleja1ee7
    @oleja1ee7 Автор вопроса
    Помимо последней ошибки узнал еще её номер
    qDebug() << query.lastError().number()<< query.lastError().text();

    Оттуда накопал ошибку 1064, которая ничего не прояснила, но методом тыка понял что беда в апострофах, которыми обозначил атрибуты. Убрал и их.
    Следующая ошибка это было отсутствие первичного ключа в таблице.
    и несоответствие приведенных типов, я обозначал их как QString, но в таблице были 3 даты и 1 численный.
    Теперь все просто прекрасно. Спасибо за помощь, Игорь Джулай
    Ответ написан
    Комментировать
  • Как вывести SQL запрос в tableView?

    oleja1ee7
    @oleja1ee7 Автор вопроса
    Основная проблема решена таким образом:

    QSqlQueryModel *setquery1 = new QSqlQueryModel;
    setquery1->setQuery("SELECT * FROM people1 WHERE name LIKE '"+pole2+"%' AND id LIKE '"+pole1+"%'");
    QTableView *tv = new QTableView(this);
    tv->setModel(setquery1);
    ui->tableView->setModel(setquery1);
    Ответ написан
    Комментировать
  • Как подключиться к MySQL из Qt Creator?

    oleja1ee7
    @oleja1ee7 Автор вопроса
    Все решилось, после действий, который описаны в самом вопросе.
    А так же, после всего этого воспользовался советами на сайте: https://gromr1.blogspot.ru/2014/04/compiling-drive...
    Ошибки больше не выдается. Может кому и помог.
    Ответ написан
    Комментировать