Удаление записи из таблицы

Тема в разделе "Delphi - Базы данных", создана пользователем MishaMW, 29 авг 2007.

  1. MishaMW

    MishaMW Гость

    Данные в DBGrid выводятся из связанных таблиц в хранимой процедуре через TADOStoredProc.

    При удалении записи через DBNavigator выскакивает ошибка
    "Недостаточно сведений ключевого поля для обновления".

    Как в этом случае можно удалять записи?
     
  2. MishaMW

    MishaMW Гость

    Да я бы с удовольствием.
    Но это уже готовый проект, в котором все завязано на более чем сотни компонентов ADOStoredProc.
    И все переписывать не вариант. Поэтому хотелось бы решить этот вопрос с данными условиями.
     
  3. MishaMW

    MishaMW Гость

    в компонент ADOStoredProc загружена вот такая процедура:
    Код (Text):
    Create Procedure DBO.dpGetProbShablonsList
    @OperationID int
    as
    begin
    Select
    OPSH.ProblemNumberInOperation,
    OPSH.ProblemID,
    PSH.ProblemName,
    PSH.TimeBegin,
    PSH.ProblemLength,
    PSH.IsControlProblem,
    PSH.ControlCriterionID,
    ControlCriterionName = CC.Name,
    PSH.ControlPostID,
    ControlPostName = CE.Name
    from [b]dbo.OperationsProblems_Shablons[/b] OPSH,[b]dbo.Problems_Shablons[/b] PSH
    Left Join dbo.ControlCriterions CC ON (PSH.ControlCriterionID = CC.ControlCriterionID)
    Left Join dbo.Posts CE ON (PSH.ControlPostID = CE.PostID)
    Where OPSH.ProblemID = PSH.ProblemID AND OPSH.OperationID = @OperationID AND @OperationID is not null
    AND IsNull(OPSH.DateDelete,0) = 0 AND IsNull(PSH.DateDelete,0) = 0
    Order By OPSH.ProblemNumberInOperation
    end
    Данные из ADOStoredProc через DataSource выводятся в DBGridEh. К DataSource соответственно подкючен DBNavigator.

    При выделении строки в DBGridEh и нажатии на nbDelete выскакивает ошибка
    "Недостаточно сведений ключевого поля для обновления",
    что естественно для связанных таблиц.

    В DataSet есть свойства Unique Table и Resync Command и там это хорошо решается.
    А вот что нужно здесь, чтобы удалить строку в Problems_Shablons и соответствующую ей в OperationsProblems_Shablons ?
     
  4. Barmutik

    Barmutik Гость

    Стоит просто не использовать встроенные средства аля TDBNavigatora а удалятьручками .. потому как он криво работает с таблицами без ключей или со множественными ключами...
     
Загрузка...

Поделиться этой страницей