[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