Возникли проблемы с базой данных Sqlcompact в моем приложении Windows Form - PullRequest
1 голос
/ 10 сентября 2011

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

Я делаю приложение для формы Windows и использую компактную базу данных Sql.

Моя проблема:

Когда я вставляю записи в базу данных, используя код (время выполнения), они вставляются, удаляются, обновляются, и я вижу их обновленными, вставленными, удаленными в моем приложении, но когда я закрываю приложение и запускаю заново только несколько раз они меняются раз в миллион :). В противном случае я снова вижу пустую базу данных или, если я непосредственно помещаю значения в базу данных из обозревателя решений Visual Studio 2010, они остаются там навсегда. Я использую простое обновление, вставку, удаление заявления, но не уверен, почему изменения, внесенные в базу данных, исчезают при закрытии приложения.

Сначала это Для всех:

   Dim con As New SqlCeConnection
   Dim command As New SqlCeCommand

   connectionString = "Data Source=SqlCompactDatabase/RestaurantDatabase.sdf"
    con.ConnectionString = connectionString

    command.Connection = con
    con.Open()

Код моей вставки:

            command.CommandText = "Insert into Inventory(itemcode,itemmin,itemmax,itemdesc) Values('" + itmcod + "','" + min + "','" + max + "','" + desc + "')"
            command.ExecuteScalar()

Мой код обновления:

    command.CommandText = "update Inventory set itemMin='" + min + "',itemMax='" + max + "',instock='" + stock + "',itemDesc='" + desc + "' where itemcode='" + TextBox1.Text + "'"
    command.ExecuteScalar()

Мой код удаления:

      command.CommandText = "delete from inventory where itemcode='" + TextBox1.Text + "'"
    command.ExecuteScalar()

Я правильно открываю закрытое соединение, ошибки нет, есть кое-что, что я не могу понять:)

1 Ответ

2 голосов
/ 10 сентября 2011

Если вы добавили свою базу данных SQLCE в свой проект в Visual Studio, посмотрите на ее свойства (выберите файл в обозревателе решений и перейдите на панель «Свойства»). Обычно в файле базы данных для параметра «Действие построения» установлено значение «Содержимое», а для параметра «Копировать в вывод» задано значение «Всегда копировать». Это означает, что каждый раз, когда вы собираете свое решение, ваша база данных из проекта Visual Studio (скорее всего, пустой) копируется заново в вашу папку сборки ($ projectname $ \ bin \ Debug или \ Release) и перезаписывает вашу существующую базу данных данными добавлено во время выполнения.

Чтобы решить эту проблему, просто установите для параметра «Копировать в вывод» значение «Если новее», и он будет перезаписывать ваши данные, пока изменяется файл базы данных дизайна.

...