Работаю в VB VS2005 и SQL Server 2000
Подскажите чего я не так делаю.
Есть таблица, в ней у каждой записи UID
на поле UID в БД установлен автоинкрименент.
Хранимой процедурой я забираю из БД строку по определенному UID.
Потом правлю ее, и хочу поместить обратно в БД модифицированную строку.
По ходу действия возникло следующее.
Хранимая процедура - простой селект с параметром (@UID)
она возвращает единственную строку. я забираю ее через адаптер
в датасет, правлю. Но через тот же адаптер обратно не могу загрузить,
поскольку UPDATE команда не создана автоматом для процедуры.
я поступил просто.
одним датаадаптером по UID вытягиваю данные ,
правлю, затем
создаю другой адаптер на таблицу, в которую сохраняю данные. Далее создаю строку
Dim row AS Datarow
row = датасет.таблица.NewRow()
в созданый ряд гружу иссправленую строку и делаю UPDATE датасета
в тихой надежде, что он, поскольку, UID совпадает с записью в таблице обновит соответствующую строку...
но ничего подобного. эта строка в БД получает новый UID, согласно шагу инкрименента.
Почему ТАК происходит я примерно понимаю.
а КАК мне надо поступить, кто-нибудь подскажет?