Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: DataBase Update Добавлено: 20.07.08 22:26  

Автор вопроса:  BG(Алексей)
Сценарий.
1.Создаю новое приложение.
2.Solutio Expoler> Add new item>Service-based database
3.Среда предлагает создать датасет, жму Cancel, потому как БД ещё пустая.
4.DataBase Explorer> моя новая БД> tables> Add new table.
Создал три таблицы, связал их.
5.DataSource> Add new datasource> DataBase> выбираю созданную БД> жму Finish. Создался датасет.
6.DataBase Explorer> моя новая БД> tables> Show table data>
 вношу в таблицу 3 записи(что бы было с чем работать)

Ложу на форму листбокс, подключаю к датасету, к таблице которая имеет эти три записи.
Запускаю приложение, ок, все отобразилось в листбоксе.
Пробую добавить новую запись.

   Private Sub FolderToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FolderToolStripMenuItem.Click
        'TODO - check for exeptions
        Dim f As New frmFolderDialog
        f.ShowDialog()
        If f.Folder = "" Then Exit Sub
        Dim FR As DBExDataSet.FolderRow
        FR = DBExDataSet.Folder.NewFolderRow
        FR.Folder = f.Folder
        Me.DBExDataSet.Folder.AddFolderRow(FR)
        Me.FolderTableAdapter.Update(Me.DBExDataSet)
        Me.DBExDataSet.AcceptChanges()
    End Sub

Отлично, в листбоксе появилась новая запись.
Закрываю приложение.
7. Иду> DataBase Explorer> моя новая БД> tables> Show table data>
И... с ужасом обнаруживаю, что новой записи нет.
Опять запускаю приложение(новой записи в листобксе нет).
Пробую добавить снова. Ок. Добавилась.
Повторяю пункт 7. Записи нет.

Что я делаю не правильно???

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 BG(Алексей)



Вопросов: 26
Ответов: 295
 Профиль | | #1 Добавлено: 20.07.08 22:30
Забыл сказать.
VS 2008/Express

Ответить

Номер ответа: 2
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #2 Добавлено: 20.07.08 23:46
Я так полагаю, файл данных .sdf копируется в папку Bin/debug каждый раз при компиляции

Попробуй например посмотреть у файл данных в свойствах Copy To Output Directory, установи Copy if never

Ответить

Номер ответа: 3
Автор ответа:
 BG(Алексей)



Вопросов: 26
Ответов: 295
 Профиль | | #3 Добавлено: 21.07.08 01:34
Сделал как ты сказал.
Ничего не изменилось.

Ответить

Номер ответа: 4
Автор ответа:
 BG(Алексей)



Вопросов: 26
Ответов: 295
 Профиль | | #4 Добавлено: 21.07.08 01:40
файл данных .sdf

Почему .sdf, у меня .mdf

Я добавлял не Local DataBase, а Service-based database.

Ответить

Номер ответа: 5
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #5 Добавлено: 21.07.08 16:11
А
А где ты собственно выполняешь сохранение данных в базу данных? Это нужно делать через DataAdapter или TableAdapter

Ответить

Номер ответа: 6
Автор ответа:
 BG(Алексей)



Вопросов: 26
Ответов: 295
 Профиль | | #6 Добавлено: 22.07.08 07:10
Если я правильно понимаю, то сдесь
        Me.FolderTableAdapter.Update(Me.DBExDataSet)

Ответить

Номер ответа: 7
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #7 Добавлено: 22.07.08 18:01
Посмотри все таки что там с файлом данных?

Ответить

Номер ответа: 8
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #8 Добавлено: 22.07.08 18:02
Чувствую что при каждом билде он в папке /bin/debug заменяется оригинальной (пустой) базой из корня проекта!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам