Как редактировать файл .sdf

У меня есть приложение, я устанавливаю файл .sdf и добавляю столбцы в свою базу данных. Итак, как мне обновить мою базу данных без потери данных?


person Zvi W.    schedule 05.08.2012    source источник


Ответы (2)


Вы можете выполнять команды стандартного языка определения данных (DDL) в коде при запуске приложения.

Например:

myCommand.ExecuteNonQuery("ALTER TABLE MyTable ADD NewColumn1 INT NULL")

Мы делали это в течение многих лет в устройствах, начиная от PocketPC и заканчивая планшетами.

Раньше мы проверяли, существует ли таблица или столбец базы данных, прежде чем изменять структуру БД, но мы обнаружили, что гораздо проще записать текущую версию базы данных в таблицу, а затем просто проверить версию при запуске, а затем внести изменения, которые мы знать необходимы между текущей версией в базе данных и версией базы данных приложения.

person competent_tech    schedule 05.08.2012
comment
извини но я не понял что ты сказал - person Zvi W.; 05.08.2012
comment
Когда приложение запущено, просто выполните стандартные команды SQL, такие как Изменить таблицу, чтобы добавить столбцы в базу данных. - person competent_tech; 06.08.2012
comment
можете ли вы сказать мне местоположение из базы данных, я должен иметь возможность открыть свою базу данных вручную ???? - person Zvi W.; 06.08.2012
comment
Вы пишете этот код в своем приложении и выполняете его после открытия базы данных в приложении. Это точно так же, как и любой другой SQL, который вы выполняете для SDF, он просто изменяет структуру базы данных, а не устанавливает или извлекает значения из этих таблиц. - person competent_tech; 06.08.2012

Вы можете расширить/обновить схему базы данных, выбрав значения по умолчанию для новых столбцов или разрешив новым столбцам принимать пустые значения.

person Jeremy Thompson    schedule 07.08.2012
comment
Это все еще не работает, оказывается, что колем не найден - person Zvi W.; 08.08.2012
comment
Не могли бы вы показать нам операторы SQL, которые вы используете, которые вызывают эту ошибку, та. - person Jeremy Thompson; 09.08.2012