Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Розробка нейромережевої технології та програмного продукту авторизації користувача

Реферат Розробка нейромережевої технології та програмного продукту авторизації користувача





sersModel);> show ();


Клас QSqlQuery забезпечує інтерфейс для виконання SQL запитів і навігації по результуючої вибіркою.

Для виконання SQL запитів, просто створюють об'єкт QSqlQuery і викликають QSqlQuery :: exec (). Наприклад, ось так:


QSqlQuery query;. prepare («SELECT COUNT (*) FROM KeyCombinations»);. exec ();


Конструктор QSqlQuery приймає необов'язковий аргумент QSqlDatabase, який уточнює, яке з'єднання з базою даних використовується. Якщо його не вказати, то використовується з'єднання за замовчуванням. Якщо виникає помилка, exec () повертає false. Доступ до помилки можна отримати за допомогою QSqlQuery :: lastError ().

QSqlQuery надає одноразовий доступ до результуючої вибіркою одного запиту. Після виклику exec (), внутрішній покажчик QSqlQuery вказує на позицію перед першим записом. Якщо викликати метод QSqlQuery :: next () один раз, то він перемістить покажчик до першого запису. Після цього необхідно повторювати виклик next (), щоб отримувати доступ до інших записів, до тих пір поки він не поверне false. Ось типовий цикл, перебирающий всі записи по порядку:


while (query.next ())

{combination=query.value (0). toInt (); count=query.value (0). toInt (); () << combination << count;

}


QSqlQuery може виконувати не тільки SELECT, але також і будь-які інші запити. Наступний приклад вставляє запис в таблицю, використовуючи INSERT:

QSqlQuery query;

query.exec («INSERT INTO NeuralNetDetails (netId, layerNum, neuronCount) VALUES (1, 2, 3)»);


2.5.3 Багаторівнева робота програми

Оскільки навчання нейронної мережі - досить довгий процес, що вимагає істотних витрат процесорного часу, то щоб уникнути заморожування графічного інтерфейсу під час навчання нейронної мережі були застосовані можливості потоків Qt. Qt надає підтримку потоків у вигляді платформо-незалежних потокових класів, потокобезпечна способу відправки подій і можливості установки з'єднань сигнал-слот між потоками. Це полегшує створення переносимих багатопоточних додатків і використання переваг багатопроцесорних машин.

Примірник QThread являє собою потік і надає кошти для запуску потоку функцією start (), яка виконуватиме перевизначення QThread :: run (). Реалізація run () для потоку - така ж точка входу, що і функція main () для програми. Весь код виконується в стеку викликів, який починається у функції run (), яка виконує новий потік, а закінчується при завершенні потоку, коли відбувається повернення з функції. QThread випускає сигнали, що повідомляють про початок або закінчення виконання потоку.

Для створення потоку створюється підклас QThread і перевизначається його функція run ().


class NeuralNetTeachThread: public QThread

{_OBJECT: setNet (NeuralNetBP * value)

{= value;

}: * net; run ()

{> TeachOffLine (); epochCount; res=net-> GetTeachStatus (epochCount); (netTeached (res == 0));

}: netTeached (bool);

};


...


Назад | сторінка 20 з 23 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Організація зберігання даних і виконання запитів у динамічній інформаційної ...
  • Реферат на тему: Несанкціонований доступ до даних
  • Реферат на тему: Розробка зручною діалогової програми, що полегшує доступ до файлових даними ...
  • Реферат на тему: Організація пам'яті СП. Доступ до пам'яті. Блоки пам'яті
  • Реферат на тему: Загальна власність (вільний доступ)