Ver Mensaje Individual
  #1  
Antiguo 02-02-2006
adelaida adelaida is offline
Registrado
 
Registrado: oct 2005
Posts: 5
Reputación: 0
adelaida Va por buen camino
Error con Key violation

Hola Buenas noches.

Tengo el siguiente error que se genera al mostrar en un DBGrid la consulta formada por 2 tablas.

En la Tabla pacientes tengo como llave primaria el campo id_paciente y en la tabla sesiones tengo como llave foranea id_paciente.

Este es mi codigo:

SQLDataSet1.CommandText := 'SELECT a.nombre, a.apellidop, b.* FROM
pacientes a, sesiones b WHERE a.id_paciente=b.id_paciente and
a.nombre=:nombre';
SQLDataSet1.Params[0].AsString := tnombre.Text;
SQLDataSet1.Open;
DBgrid1.DataSource.DataSet.Refresh;
SQLDataSet1.Close;


Estoy pasando como parametro con tnombre.tex el nombre del paciente que quiero consultar, cuando yo consulto un paciente que tiene una sola sesion todo funcina muy bien, pero si tengo dos sesiones con un mismo paciente es decir la tabla sesiones contiene lo siguiente:

id_sesion id_paciente fecha
1 1 27/01/2006
2 2 28/01/2006

Automaticamente al hacer DBgrid1.DataSource.DataSet.Refresh;
me marca el error key violation, y necesito esa linea de codigo, por que si no no veo nada en el DBGrid1.

Alguna idea, siento que el problema esta con el Refresh.....?

De antemano muchas gracias por su atención.
Responder Con Cita