|
Deberías eliminar las 2 últimas líneas:
- La primera de ellas no produce ningún resultado siempre que lo que refrescas sea el mismo SQLDataSet1. En realidad no entiendo por qué siempre lo usas directamente y en esa línea lo llamas a través del Grid y del DataSource. Asegurate de que el grid está realmente conectado a un DataSource que apunte a SQLDataSet1.
- En el caso de la segunda, si cierro el dataset pierdo el cursor y el grid no mostrará nada.
Y por último, asegurate de que tu grid sea de solo lectura para evitar que involutariamente se produzca una inserción que te produzca el Key Violation y de no haber asociado en ningún evento de estos componentes algo que provoque la inserción (usa un punto de ruptura y trazalo con F7)
Salu2.
Scooter
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;
|