Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: ADO KEY Добавлено: 04.12.02 10:59  

Автор вопроса:  Slay | Web-сайт: www.slaysoft.stormway.ru

Появилась необходимость перевода базы на SQL Server
соответствено использовать ADO (пока пробую с access'овской).
Столкнулся с одной проблемой. При использовании DAO ее нет.
Например существуют две таблицы:

Test
 idx Счетчик (ключевое поле)
 Text Текстовый
 boolean Логический

Param
 idx Числовой
 Param Текстовый


Связь один-ко-многим (с обеспечением целостности данных) по idx

используется такой запрос:

SELECT Param.*, Test.*
FROM Test RIGHT JOIN Param ON Test.idx = Param.idx;

При уделении (создании и изменении) записи возникает ошибка:
Недостаточно сведений ключевого поля для обновления

Какого банана ей нужно?

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 ГАТ



Вопросов: 2
Ответов: 117
 Web-сайт: www.mail.ru
 Профиль | | #1
Добавлено: 04.12.02 13:24
Я больше месяца мучился с этой ошибкой и так и не понял в чем дело. По отдельности обе базы работают нормально. как только связываю и есть поле AutoIncremental так сразу возникает эта ошибка. Попробуй потренироваться с курсорами Connetion'a, Command'a и Recordset'a. Все эти курсоры вродебы должны быть связаны, но по моему, они живыт своей известной только им жизнью.

Ответить

Номер ответа: 2
Автор ответа:
 Slay



Вопросов: 27
Ответов: 150
 Web-сайт: www.slaysoft.stormway.ru
 Профиль | | #2
Добавлено: 06.12.02 15:21

Блин!  Я фигею с этого мелкософта... ну придумали уроды.... Короче эта
ADO  сильно  отличается  в  этом  плане  от  DAO.  Кое-как  я все-таки
разобрался...

Enables  you  to  closely  control  modifications to a particular base
table  in  a Recordset that was formed by a JOIN operation on multiple
base tables.

Unique  Table  specifies  the  name  of  the one base table upon which
updates, insertions, and deletions are allowed.

Ну так примерно и делаем:
Adodc.Recordset.Properties("Unique Table") = "Param"

но  эта  хрень  не  будет  работать  пока  в  таблице  Param  не будет
уникального ключа...

Я  пока  экперементировал  со  всей  этой фигней даже без Unique Table
добился  нормального удаления, но правда удалялась запись не с Param а
с  Test  и соответственно обеспечивая целостность данных грохались все
связанные записи....

Также на эту всю богадельню влияют курсоры, и объекты ADO: если Cursorlocation=server, то он не имеет Unique Tale ....

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам