TRUE
и FALSE
являются ключевыми словами и не должны заключаться в кавычки в виде строк:
INSERT INTO first VALUES (NULL, 'G22', TRUE);
INSERT INTO first VALUES (NULL, 'G23', FALSE);
При цитировании их в виде строк MySQL преобразует их в их целочисленный эквивалент (поскольку логические значения действительно только однобайтовый INT
в MySQL), который переводится в ноль для любой нечисловой строки. Таким образом, вы получаете 0
для обоих значений в вашей таблице.
mysql> SELECT CAST('TRUE' AS SIGNED), CAST('FALSE' AS SIGNED), CAST('12345' AS SIGNED);
+------------------------+-------------------------+-------------------------+
| CAST('TRUE' AS SIGNED) | CAST('FALSE' AS SIGNED) | CAST('12345' AS SIGNED) |
+------------------------+-------------------------+-------------------------+
| 0 | 0 | 12345 |
+------------------------+-------------------------+-------------------------+
INT
представление: mysql> SELECT TRUE, FALSE;
+------+-------+
| TRUE | FALSE |
+------+-------+
| 1 | 0 |
+------+-------+
Обратите внимание, что я заменил ваш двойной кавычки с одинарными кавычками, как и более стандартные строковые вложения SQL. Наконец, я заменил ваши пустые строки для id
на NULL
. Пустая строка может выдать предупреждение.
ClickOnce должен поддерживать пользовательские настройки между обновлениями, но у меня это случалось один или два раза по неизвестным причинам (и с плохими результатами). Я не пробовал настраивать пользовательские параметры конфигурации, но потерял уверенность в способности ClickOnce не перезаписывать параметры.
Подход, который я планирую использовать, состоит в том, чтобы вручную обрабатывать обновления ClickOnce, а не разрешать приложение. чтобы проверить наличие обновлений и предложить пользователю установить. У меня также было несколько пользователей, которые не приняли обновление, и от этого трудно избавиться. Обрабатывая обновление вручную, я надеюсь, что смогу считывать пользовательские настройки в память перед обновлением, а затем записывать их обратно после завершения обновления. Есть событие ApplicationUpdated, которое должно служить этой цели.
Возможно, этот подход может сработать и для вас.