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


Автор: gsa 18.1.2008, 23:24
        Me.Validate()
        Me.Table1BindingSource.EndEdit()
        Dim cmd As SqlClient.SqlCommandBuilder
        Me.Table1TableAdapter.Update(Me.OPSDataSet.Table1)



ошибка происходит после удаления записи из базы! а также примерно такая же ошибка если просто изменить данные, причем добавление происходит нормально, подскажите почему так!? 
ошибка:
Update requires a valid DeleteCommand when passed DataRow collection with deleted rows.

Автор: thomas 19.1.2008, 16:02
gsa, 
Приветствую.
По приведенному коду я понял, что работаем с типизированным ДатаСет.
Соответственно вот эта строка
Код
Dim cmd As SqlClient.SqlCommandBuilder
 лишняя. Сгенерированный студией таблеАдаптер уже имеет необходимые команды для вставки, измениения и удаления строк в таблице.

Автор: gsa 19.1.2008, 18:45
Цитата(thomas @ 19.1.2008,  16:02)
gsa, 
Приветствую.
По приведенному коду я понял, что работаем с типизированным ДатаСет.
Соответственно вот эта строка
Код
Dim cmd As SqlClient.SqlCommandBuilder
 лишняя. Сгенерированный студией таблеАдаптер уже имеет необходимые команды для вставки, измениения и удаления строк в таблице.

Стручку стер, беда таже , все попрежнему, может что то не так делаю?

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

Автор: thomas 19.1.2008, 19:01
gsa, 
код в студию.

Автор: gsa 19.1.2008, 22:58
Цитата(thomas @ 19.1.2008,  19:01)
gsa, 
код в студию.

Код

Public Class Form1

    Private Sub Table1BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Table1BindingNavigatorSaveItem.Click
        Me.Validate()
        Me.Table1BindingSource.EndEdit()
        Me.Table1TableAdapter.Update(Me.OPSDataSet.Table1)

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'OPSDataSet.Table1' table. You can move, or remove it, as needed.
        Me.Table1TableAdapter.Fill(Me.OPSDataSet.Table1)

    End Sub
End Class



все что сгенерировала программа.....

я из дата сорс перетащил таблицу в форма, программа сгенерировала этот код,  в следствии чего не возможно обновлять и удалять!
 никак не пойму почему...

Автор: mr.DUDA 20.1.2008, 18:09
gsa, пользуемся кнопкой "Код" для оформления исходников.

Автор: informatik 21.1.2008, 18:43
gsa, незнаю что прямо уж точно означает твоя ощибка, но проблемы могут быть в логике обновления.

Может ты изменил или удалил, DeleteCommand у таблицы на схеме DataSet...
или твой запрос состоит более чем из одной таблицы, тогда VS не сгенерирует логику обновления....

В общем если запрос состоит из одной таблицы, тогда попробуй перегенерировать таблицу на схеме DataSet

Автор: gsa 21.1.2008, 20:47
Цитата(informatik @ 21.1.2008,  18:43)
gsa, незнаю что прямо уж точно означает твоя ощибка, но проблемы могут быть в логике обновления.

Может ты изменил или удалил, DeleteCommand у таблицы на схеме DataSet...
или твой запрос состоит более чем из одной таблицы, тогда VS не сгенерирует логику обновления....

В общем если запрос состоит из одной таблицы, тогда попробуй перегенерировать таблицу на схеме DataSet

Всем спасиба!!! , буду пытаться...

Автор: thomas 22.1.2008, 10:22
gsa, 
Приветствую.
На первый взгляд вроде все нормально. Зашли проект и базу. Я у себя проверю.
Или сделай все снова в новом проекте. И посмотри что получиться.

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