Почему мой DataAdapter «Заполняется» только второй раз? SQL Server Compact - PullRequest
0 голосов
/ 23 июня 2011

Краткая справка: я пытаюсь создать сценарий синхронизации сервер / клиент для своего приложения, используя службы синхронизации для ADO.NET, в частности, пользовательский инструмент LocalCache, который настраивает все для меня.Моя серверная БД имеет 5 таблиц, каждая из которых синхронизируется с клиентским приложением, которое теперь имеет БД SQL Server Compact с той же схемой, что и у серверной БД.У меня есть набор данных с некоторыми пользовательскими запросами, которые я использую для подключения своего приложения к локальной базе данных.Все идет нормально.Однако в моем приложении, когда я пытаюсь заполнить одну из моих таблиц с помощью адаптера таблицы в моей форме (метод «заполнения») по умолчанию, это дает мне следующее исключение:

Нет сопоставления объекта DbType с известнымSqlDbType.

Однако, если я продолжу и снова выполню заливку, ЭТО РАБОТАЕТ без проблем.

    Try
        Me.WTSUsersTableAdapter.Fill(Me.WTSMainDataSet.WTSUsers)
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try

Если я делаю вышеуказанный код дважды, один за другим, первыйодна выходит из строя, вторая работает.

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

Кто-нибудь имеет представление о том, чтоможет быть причиной этого?

Большое спасибо

Редактировать: Я удалил свой набор данных и воссоздал его безуспешно.У кого-нибудь есть идеи для меня?

1 Ответ

1 голос
/ 26 июня 2011

Я нашел ответ на свой вопрос. Возникла проблема с пользовательским запросом «ОБНОВЛЕНИЕ», который я ввел для адаптера таблицы. По какой-то причине это не позволило адаптеру таблицы выполнить простое «заполнение», но только с первой попытки. Кажется, это не заботило мою ошибку Обновления со второй попытки ...

Перейти рисунок.

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

...