Это довольно распространенная проблема. Вы используете | DataDirectory | строка подстановки. Это означает, что при отладке вашего приложения в среде Visual Studio база данных, используемая вашим приложением, находится в папке подпапки BIN\DEBUG
(или версии x86) вашего проекта. И это хорошо работает, так как у вас нет какой-либо ошибки, связанной с базой данных и выполняющей операции обновления.
Но затем вы выходите из сеанса отладки и просматриваете свою базу данных через Visual Studio Server Explorer. Это окно имеет другую строку подключения (возможно, указывая на копию вашей базы данных в папке проекта). Вы просматриваете свои таблицы, и вы не видите изменений.
Затем проблема ухудшается. Вы перезапускаете VS, чтобы искать ошибку в своем приложении, но у вас есть файл базы данных, указанный между вашими файлами проекта, а для свойства Copy to Output directory
установлено значение Copy Always
. На этом этапе Visual Studio копирует исходный файл базы данных из папки проекта в выходную папку (BIN \ DEBUG), и поэтому ваши предыдущие изменения теряются. Теперь ваше приложение снова вставляет / обновляет целевую таблицу и вы не можете найти никаких ошибок в коде. (Теперь я не знаю, являетесь ли вы таким парнем, но после двух или трех раз этого цикла я слышал разные уродливые слова)
Вы можете остановить эту проблему, изменив свойство Copy To Output Directory
- Copy If Newer
или Never Copy
. Также вы можете обновить строку соединения в проводнике сервера, чтобы посмотреть на рабочую копию базы данных или создать второе соединение. Первый по-прежнему указывает на базу данных в папке проекта, а второй указывает на базу данных в папке BIN \ DEBUG. Таким образом, вы можете сохранить исходную базу данных в целях развертывания и изменения схемы, в то время как со вторым соединением вы можете посмотреть на эффективные результаты ваших усилий по кодированию.
EDIT Специальное предупреждение для базы данных MS-Access пользователи. Простой взгляд на таблицу изменяет дату изменения базы данных ТАКЖЕ, если вы ничего не пишете и не меняете. Таким образом, флаг Copy if Newer
запускается, и файл базы данных копируется в выходной каталог. С Access лучше использовать Copy Never
.
Вот то, что я использую в моем ~/.emacs
:
(add-to-list 'default-frame-alist '(left . 0))
(add-to-list 'default-frame-alist '(top . 0))
(add-to-list 'default-frame-alist '(height . 50))
(add-to-list 'default-frame-alist '(width . 155))
Сделал Вы пробуете это: emacs - геометрия 110x58+200+2 &
Найденный в:
(setq initial-frame-alist '(
(top . 40) (left . 10)
(width . 128) (height . 68)
)
)
Для emacs на окнах я обычно помещал его в реестр.
HKCU\Software\GNU\Emacs\
Emacs.Geometry REG_SZ "245x74"
(Это не допускает локальные для машины настройки в мой .emacs файл, который я совместно использую со многими другими машинами...)
Между Emacs 19 и 21 у меня был отлично работающий .emacs, который делал именно то, что вы ищете, различая фрейм по умолчанию и начальный фрейм:
(setq default-frame-alist '((foreground-color . "LightGray")
(background-color . "Black")
(cursor-color . "Medium Sea Green")
(width . 80)
(height . 36)
(menu-bar-lines . 1)
(vertical-scroll-bars . right)))
и
(setq initial-frame-alist
(cons '(width . 96)
(cons '(height . 72)
(cons '(menu-bar-lines . 1)
initial-frame-alist))))
Увы, когда я " обновлен "до Emacs 23.2, вышеупомянутое больше не полностью. Emacs - это не моя карьера. Я использую его как инструмент, поэтому не могу уделять слишком много времени тому, чтобы понять, почему. Поэтому я просто решил проблему, добавив к ярлыку Emacs Windows XP "-geometry 96x72". Итак, цель ярлыка теперь выглядит:
C:\emacs-23.2\bin\runemacs.exe -geometry 96x72