Master/detail

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
Antonio

Master/detail

Post by Antonio » Tue 22 Aug 2006 11:09

I have a master/detail like this:

/*********************************************/

object OraSession1: TOraSession
ConnectPrompt = False
Username = 'GESTOR'
Password = 'MONTREL'
Server = 'GESTION'
Connected = True
Left = 200
Top = 32
end
object SmartQuery1: TSmartQuery
CheckMode = cmException
Session = OraSession1
SQL.Strings = (

'SELECT ID_PERF, NOMBRE_PERF, DESCRIPCION_PERF, FECHA_CREACION_PE' +
'RF, FECHA_MODIFICACION_PERF, FECHA_DESACTIVACION_PERF FROM TABPE' +
'RFILES')
CachedUpdates = True
AutoCommit = False
LockMode = lmLockDelayed
Active = True
IndexFieldNames = 'ID_PERF'
BeforeInsert = SmartQuery1BeforeInsert
BeforeEdit = SmartQuery1BeforeInsert
AfterPost = SmartQuery1AfterPost
AfterCancel = SmartQuery1AfterCancel
Left = 232
Top = 32
end
object OraDataSource1: TOraDataSource
AutoEdit = False
DataSet = SmartQuery1
Left = 264
Top = 32
end
object SmartQuery2: TSmartQuery
CheckMode = cmException
Session = OraSession1
SQL.Strings = (
'SELECT '
' A.ID_OPEPERF, A.CODIGO_OPERACION_OPEPERF, A.ID_PERF, '
' B.DESCRIPCION_OPE, B.CONFIRMACION_OPE, B.CODIGO_OPE '
'FROM TABOPERACIONES_PERFILES A, '
' TABOPERACIONES B '
'WHERE A.CODIGO_OPERACION_OPEPERF = B.CODIGO_OPE '
'AND A.ID_PERF = :ID_PERF'
'ORDER BY B.CODIGO_OPE')
MasterFields = 'ID_PERF'
MasterSource = OraDataSource1
CachedUpdates = True
AutoCommit = False
LockMode = lmLockDelayed
Active = True
IndexFieldNames = 'CODIGO_OPE'
Left = 296
Top = 32
ParamData =
end
object OraDataSource2: TOraDataSource
AutoEdit = False
DataSet = SmartQuery2
Left = 328
Top = 32
end
object OraStoredProc1: TOraStoredProc
Session = OraSession1
Left = 360
Top = 32
end
end

/*********************************************/




if i make smartquery1->edit(), i have an error because my dataset is in read-only. but this property is in false. wich is de problem?

thanks

Challenger
Devart Team
Posts: 925
Joined: Thu 17 Nov 2005 10:53

Post by Challenger » Wed 23 Aug 2006 12:54

If you want to make TSmartQuery editable you should either specify KeyFields property or include RowID field in your SELECT SQL statement. IndexFieldNames property is used for local sorting.

Post Reply