PDA

Ver la Versión Completa : Error en aplicacion 3 capas


jcarteagaf
02-07-2006, 01:07:16
Tengo una aplicacion 3 capas sobre sql server 2000 y Delphi 7 y ADO. En la capa intermedia tengo los siguientes componentes


object Estudiante: TADOQuery
Connection = acConexion
EnableBCD = False
SQL.Strings = (
'SELECT * FROM ESTUDIANTE'
'WHERE CODEST=:CODEST'
'')

object CarreraEst: TADOQuery
Connection = acConexion
DataSource = dsEstudiante
Parameters = <
item
Name = 'CODEST'
DataType = ftString
NumericScale = 255
Precision = 255
Size = 15
Value = Null
end>
SQL.Strings = (
'SELECT *'
'FROM CARRERAEST'
'WHERE CODEST=:CODEST')


En la capa de presentacion tengo 2 dataset en una relacion maestro detalle que muestran la informacion de los anteriores Querys. Al insertar un registro todo trabaja bien, al editar la informacion y realizar la grabacion reporta el error:
Record not found or changed by another user

En los TAdoQuery tengo definido sus llaves como pfInKey y en el dataprovider tengo la opcion de updatemode como upWhereKeyOnly.

Cual es el problema? que falta? o que estoy haciendo mal?

Mi Delphi 7.0 indica la version 7.0 build 8.1
Gracias por su ayuda

AGAG4
06-07-2006, 04:10:17
Tienes bien la Relación Maestro Detalle ????, es decir en tu detalle tienes enlazado al Maestro por medio del Datasource ????

jcarteagaf
08-07-2006, 03:40:46
Las tablas detalle (son dos) si estan relacionadas con un datasource al archivo maestro.

Que otra cosa puede estar mal?

pepon386
10-07-2006, 11:24:07
Mmmm... Con la información que dás no se puede ver gran cosa. Yo, de momento, cambiaría a upWhereChanged (esto no lo soluciona, pero es más coherente). No dices si esto te pasa nada más haber insertado el registro. Las claves, ¿son autoincrementales o las asignas en la capa del cliente? Si son autoincrementales, probablemente el problema es que no te refresca la información de dicho campo.