[firebase-br] Multicamadas SOAP [0ff]

Francisco Thiago de Almeida jeandeadlucky em yahoo.com.br
Qua Jan 19 18:34:02 -03 2005


Caros amigos,

Me desculpem pelo off..  assinei outra lista para tentar evitar isso, mas lá 
estou sendo moderado... e as minhas mensagens pouco chegam até o pessoal.. 
por isso resolvi apelas...

PRECISO DE AJUDA, PELO AMOR DE DEUS!!!

Estou portando um programa de Paradox para Firebird 1.5.1, usando 
Multicamadas com SOAP... Estou usando o ClientDataSet + DataSetProvider + 
DBXpress num delphi sem updates e usando o IIS 5.1 e mudarei para o Apache 
futuramente.
Certo. Estou conseguindo fazer o sistema normalmente, mas quando aparece uma 
relação Master/Detail estou apanhando um bocado. O Bruno Lichot já me passou 
uma apostila. Apesar de originalmente já estar fazendo como ela manda, 
apaguei e fiz tudo de novo... Neste caso dava um erro de Foreign Key... mas 
eu vi que no BeforeUpdateRecord do Provider eu mudava o valor do campo... 
Até aqui tudo bem. Já arrumei isso. O problema agora é outro. Os componentes 
aparentemente não estão informando um valor para o campo FK
Os ClientDataSet estão usando o DataSetField....
Eu já fiz de tudo... e não está funcionando! Tudo como manda o fugurino...e 
no entanto.. deve estar escapando algum detalhes que não vi ainda..

Abaixo passo o esquema dos componentes.. se alguém poder me ajudar, ficaria 
muito grato... tenho uma certa urgência o assunto..

Obrigado e desculpem mais uma vez

Thiago

  object sqlCad_Condicao: TSQLDataSet
    CommandText =
      'select CCOND_CODIGO'#13#10'     , CCOND_DESCRICAO'#13#10'     , 
CCOND_NUMERO' +
      '_PAGAMENTOS'#13#10'     , CCOND_INDICE'#13#10'from 
CAD_CONDICAO'#13#10'where CCOND' +
      '_CODIGO = :CCOND_CODIGO'
    Params = <
      item
        DataType = ftInteger
        Name = 'CCOND_CODIGO'
        ParamType = ptInput
      end>
    SQLConnection = SQLConnection
    object sqlCad_CondicaoCCOND_CODIGO: TIntegerField
      FieldName = 'CCOND_CODIGO'
      ProviderFlags = [pfInUpdate, pfInWhere, pfInKey]
    end
    object sqlCad_CondicaoCCOND_DESCRICAO: TStringField
      FieldName = 'CCOND_DESCRICAO'
      ProviderFlags = [pfInUpdate]
      Size = 50
    end
    object sqlCad_CondicaoCCOND_NUMERO_PAGAMENTOS: TIntegerField
      FieldName = 'CCOND_NUMERO_PAGAMENTOS'
      ProviderFlags = [pfInUpdate]
    end
    object sqlCad_CondicaoCCOND_INDICE: TIntegerField
      FieldName = 'CCOND_INDICE'
      ProviderFlags = [pfInUpdate]
    end
  end
  object dtsCCON_CICD: TDataSource
    DataSet = sqlCad_Condicao
  end
  object sqlCad_Item_Condicao: TSQLDataSet
    CommandText =
      'select CICD_CODIGO'#13#10'     , CCOND_CODIGO'#13#10'     , 
CICD_QTDDIAS'#13#10'fr' +
      'om CAD_ITEM_CONDICAO'#13#10'where CCOND_CODIGO = :CCOND_CODIGO'
    DataSource = dtsCCON_CICD
    Params = <
      item
        DataType = ftInteger
        Name = 'CCOND_CODIGO'
        ParamType = ptInput
      end>
    SQLConnection = SQLConnection
    Left = 360
    Top = 348
    object sqlCad_Item_CondicaoCICD_CODIGO: TIntegerField
      FieldName = 'CICD_CODIGO'
      ProviderFlags = [pfInUpdate, pfInWhere, pfInKey]
    end
    object sqlCad_Item_CondicaoCCOND_CODIGO: TIntegerField
      FieldName = 'CCOND_CODIGO'
    end
    object sqlCad_Item_CondicaoCICD_QTDDIAS: TIntegerField
      FieldName = 'CICD_QTDDIAS'
      ProviderFlags = [pfInUpdate]
    end
  end
  object dspCad_Condicao_Cad_Item_Condicao: TDataSetProvider
    DataSet = sqlCad_Condicao
    UpdateMode = upWhereKeyOnly
    OnUpdateData = DSPUpdateData
    BeforeUpdateRecord = dspCad_Condicao_Cad_Item_CondicaoBeforeUpdateRecord
    OnGetDataSetProperties = DSPGetProperties
  end


Francisco Thiago de Almeida
Enter&Plug Informática
Divisão: Desenvolvimento
MSN: thiago em enterplug.com.br 








Mais detalhes sobre a lista de discussão lista