Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / не обновляются данные в dataSet / 4 сообщений из 4, страница 1 из 1
16.08.2014, 12:38
    #38721716
tasha klemer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не обновляются данные в dataSet
Вроде бы все элементарно, но изменение записеи не происходит.
Dataset у меня обьявлен глобально из другой формы.

Public Shared adDirComp As SqlDataAdapter
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
 Dim Name As SqlParameter
        Dim Type As SqlParameter
        Dim INN As SqlParameter
        Dim OGRN As SqlParameter
        Dim PostCod As SqlParameter
        Dim PostAdres As SqlParameter
        Dim FIO As SqlParameter
        Dim TCod As SqlParameter
        Dim TNumber As SqlParameter
        Dim FNumber As SqlParameter
        Dim e_mail As SqlParameter
        Dim Other As SqlParameter


        fBuild.cmd.CommandText = "SELECT  dbo.Dir_Company.Name, dbo.Dir_Company.Type, dbo.Dir_Company.TypeComp, dbo.Dir_Company.INN, dbo.Dir_Company.OGRN, " & _
     " dbo.Dir_Company.PostCod, dbo.Dir_Company.PostAdres, dbo.Dir_Company.FIO, dbo.Dir_Company.TCod, dbo.Dir_Company.TNumber, dbo.Dir_Company.FNumber," & _
     " dbo.Dir_Company.Other FROM dbo.Dir_Company "

        adDirComp = New SqlDataAdapter(fBuild.cmd.CommandText, fLogin.connectionString)
        adDirComp.Fill(fBuild.ds, "AdapterDirComp")

        adDirComp.UpdateCommand = New SqlCommand("UPDATE [BuildInspector].[dbo].[Dir_Company] SET [Name] = @Name,[Type] = @Type," & _
      "[INN] = @INN,[OGRN] = @OGRN ,[PostCod] = @PostCod ,[PostAdres] = @PostAdres ,[FIO] = @FIO ,[TCod] = @TCod ,[TNumber] =@TNumber,[FNumber] = @FNumber,[e_mail] = @e_mail ,[Other] = @Other" & _
    " WHERE [Id_Company] = @Id_Company  ", fLogin.connection)
        adDirComp.UpdateCommand.Parameters.AddWithValue("@Name", Trim(tbName.Text))
        adDirComp.UpdateCommand.Parameters.AddWithValue("@Type", Trim(tbType.Text))
        adDirComp.UpdateCommand.Parameters.AddWithValue("@INN", Trim(tbINN.Text))
        adDirComp.UpdateCommand.Parameters.AddWithValue("@OGRN", Trim(tbOGRN.Text))
        adDirComp.UpdateCommand.Parameters.AddWithValue("@PostCod", Trim(tbPostCod.Text))
        adDirComp.UpdateCommand.Parameters.AddWithValue("@PostAdres", Trim(tbNameCity.Text) + Trim(tbAdres.Text))
        adDirComp.UpdateCommand.Parameters.AddWithValue("@FIO", Trim(tbDir.Text))
        adDirComp.UpdateCommand.Parameters.AddWithValue("@TCod", Trim(tbPhoneCod.Text))
        adDirComp.UpdateCommand.Parameters.AddWithValue("@TNumber", Trim(tbPhoneCod.Text))
        adDirComp.UpdateCommand.Parameters.AddWithValue("@FNumber", Trim(tbFax.Text))
        adDirComp.UpdateCommand.Parameters.AddWithValue("@e_mail", Trim(tbEmail.Text))
        adDirComp.UpdateCommand.Parameters.AddWithValue("@Other", Trim(tbOther.Text))
        adDirComp.UpdateCommand.Parameters.AddWithValue("@Id_Company", fDirKontr.ID_Company)
         adDirComp.UpdateCommand.ExecuteNonQuery()
        adDirComp.Fill(fBuild.ds, "AdapterDirComp")

          Me.Close()
...
Рейтинг: 0 / 0
16.08.2014, 22:57
    #38721817
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не обновляются данные в dataSet
Не знаю, поможет ли Вам, но Fill работает по разному в зависимости от явного объявления первичного ключа в таблице. Если ключ объявлен, то DataTable перезаписываться правильно. Существующие записи обновляются, недостающие добавляются, отсутствующие удаляются. Если ключ не объявлен, то данные тупо добавляются к имеющимся в конец. Вы гляньте в отладчике, сколько у вас записей после двух Fill?
Бороться с этим просто. Или сделать первичный ключ, или перед вызовом Fill делать MyDataTable.Rows.Clear()
...
Рейтинг: 0 / 0
18.08.2014, 07:48
    #38722159
tasha klemer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не обновляются данные в dataSet
Cat2Не знаю, поможет ли Вам, но Fill работает по разному Спасибо, очень помогло!

Cat2в зависимости от явного объявления первичного ключа в таблице. Если ключ объявлен, то DataTable перезаписываться правильно. Существующие записи обновляются, недостающие добавляются, отсутствующие удаляются. Если ключ не объявлен, то данные тупо добавляются к имеющимся в конец. Вы гляньте в отладчике, сколько у вас записей после двух Fill?
Ключ у таблицы у меня в базе задан , но все таки очистки набора не происходило

Cat2Бороться с этим просто. Или сделать первичный ключ, или перед вызовом Fill делать MyDataTable.Rows.Clear()

сделала очистку набора перед Fill ...
Спасбо большое за ценную информацию!
...
Рейтинг: 0 / 0
20.08.2014, 12:06
    #38724297
IApple
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не обновляются данные в dataSet
tasha klemer, для этого у TableAdapter есть свойство ClearBeforeFill...
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / не обновляются данные в dataSet / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]