Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > Обновление нескольких строк в таблице БД


Автор: thicking 20.5.2009, 23:17
В общем проблемма такая, нужно Изменить несколько строк в таблице. У меня не получается обновить данные в DataRow.
Вот код
Код

               Dim Row1 as DataRow
               Dim table as DataTable
                 StrSelect = "SELECT * FROM akadem WHERE id =" & AkademID2 

                DataAdapter = DataRead(StrSelect) 
                DataAdapter.Fill(dataSet, "akadem")
                table = dataSet.Tables("akadem")
                For i = 0 To table.Columns.Count - 1
                    table.Columns(i).ReadOnly = False
                Next
                ISub = 0
                ' Вот в этом цикле происходит изменение, сначала в базу записываюстя все записи из ListView, потом если в базе было больше строк чем в ListView все значения заболняются равными Null, т.к. удалять записи не желательно.
                For i = 0 To table.Rows.Count - 1
                    row1 = table.Rows(i)
                    row1.BeginEdit()
                    If i <= ListView7.Items.Count - 1 Then
                        row1("id") = AkademID2
                        row1("data") = CDate(ListView7.Items(ISub).SubItems(0).Text)
                        row1("kolvo_day") = CInt(ListView7.Items(ISub).SubItems(1).Text)

                        ISub = ISub + 1

                    Else
                        row1("id") = AkademID2
                        row1("data") = DBNull.Value
                        row1("kolvo_day") = DBNull.Value
                    End If
                    row1.EndEdit()
                Next

                For i = 0 To table.Rows.Count - 1
                    ComboBox2.Items.Add(row1("data").ToString)
                Next
                Dim string_connection As String
                string_connection = StringConnectPostgreSQL()
                Dim connect_odbc As New OdbcConnection(string_connection)

                DataAdapter.UpdateCommand = New OdbcCommand("Update akadem set data=?, kolvo_day=?, id=? WHERE id =" & AkademID2, connect_odbc)
                DataAdapter.UpdateCommand.Parameters.Add("?data", OdbcType.Date, 0, "data")
                DataAdapter.UpdateCommand.Parameters.Add("?kolvo_day", OdbcType.Int, 0, "kolvo_day")
                DataAdapter.UpdateCommand.Parameters.Add("?id", OdbcType.Int, 0, "id")
                DataAdapter.Update(table)


Все строки в DataRow отаются пустыми, не знаю уже что придумать
Заранее огромное спасибо.

Автор: gambit 22.5.2009, 15:35
А почему зеркало в песочнице???

Автор: thicking 22.5.2009, 15:39
Не понял ?????????????

Автор: diadiavova 22.5.2009, 23:11
За зеркало извиняюсь, создавал в "Базах данных", но там начались небольшие проблемы. Исправил.

Ещё не вполне освоился с полномочиями smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)