У меня была проблема как это с устройством, подключенным через usb. XP / Vista спал бы/был бы в спящем режиме прямо в середине... Большой Вы говорите, когда это возобновляет, что может только продолжиться. Если аппаратные средства все еще подключены!!! У пользователей есть привычка к вытаскиванию кабелей каждый раз, когда они чувствуют себя подобно ему.
необходимо обработать XP, и Vista
Под XP захватывают WM_POWERBROADCAST и ищут PBT_APMQUERYSUSPEND wparam.
// See if bit 1 is set, this means that you can send a deny while we are busy
if (message.LParam & 0x1)
{
// send the deny message
return BROADCAST_QUERY_DENY;
} // if
else
{
return TRUE;
} // else
Под Vista используют SetThreadExecutionState как это
// try this for vista, it will fail on XP
if (SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_AWAYMODE_REQUIRED) == NULL)
{
// try XP variant as well just to make sure
SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED);
} // if
и когда Вы, которых закончило приложение, задерживаете его к нормальному
// set state back to normal
SetThreadExecutionState(ES_CONTINUOUS);
Конечно, Вы можете.
Одна вещь должна быть отмечена однако: INSERT INTO SELECT
оператор копирует данные из одной таблицы и вставляет его в другую таблицу И требует , что типы данных во входных и выходных таблицах соответствуют. Если типы данных из данных столбцов таблицы не будут соответствовать (т.е. пытающийся вставить VARCHAR
в INT
, или TINYINT
в INT
), то сервер MySQL бросит SQL Error (1366)
.
Так быть осторожным.
Вот синтаксис команды:
INSERT INTO table2 (column1, column2, column3)
SELECT column1, column2, column3 FROM table1
WHERE condition;
примечание Стороны: существует способ обойти другую проблему вставки типов столбца при помощи [1 111] кастинг в Вашем SELECT
, например:
SELECT CAST('qwerty' AS CHAR CHARACTER SET utf8) COLLATE utf8_bin;
Это преобразование (CAST()
синоним [1 110]) очень полезно, если Ваши таблицы имеют различные наборы символов на том же столбце таблицы (который может потенциально привести к потере данных если не обработанный правильно).