PDA

Ver la Versión Completa : como modificar si los ds son de solo lectura


kryna
04-04-2005, 21:29:46
hola
Necesito modificar algun campo de los registros de las tablas pero
antes necesito buscar dicho registro y mostrarlo.. para asi poder
escribir en el dbedit correspondiente el nuevo valor...
El principal problema que tengo es que luego que realizo una
busqueda..

no puedo modificar los datos que estan en los dbedit entonces no
puedo probar ninguno de las entencias que tengo..
¿ como tengo que hacer para desbloquear los dbedit ? tengo la
propiedad resquestlive en true..

estoy usando como gestor paradox, la busqueda que realizo por sql es

SELECT especialidad.Cod_especialidad,
especialidad.Descripcion_especialidad, especialidad.Orden,
especialidad.Nota, concepto.Cod_especialidad, concepto.Cod_concepto,
concepto.Descripcion_concepto, costos.Cod_concepto, costos.Fecha,
costos.Costo
FROM especialidad, concepto, costos
WHERE (especialidad.Cod_especialidad =
concepto.Cod_especialidad)
AND (concepto.Cod_concepto = costos.Cod_concepto)
AND concepto.Cod_concepto = :Codigo

y el codigo en delphi es

if editorcodigo <> nil then

qrycodigo.Close;
qrycodigo.ParamByName('Codigo').AsInteger := StrToInt
(editorcodigo.text);
Dsconcepto.dataset := qrycodigo;
qrycodigo.Open;


qrycostos.Close;
qrycostos.ParamByName('Codigo').AsInteger := StrToInt
(editorcodigo.text);
Dscostos.dataset := qrycostos;
qrycostos.Open;


qryespecialidad.Close;
qryespecialidad.ParamByName('Codigo').AsInteger := StrToInt
(editorcodigo.text);
Dsespecialidad.dataset := qryespecialidad;
qryespecialidad.Open;


if qrycodigo.EOF then
ShowMessage('No encontré ningún Registro!');

de verdad no se que hacer..

saludos

marcoszorrilla
04-04-2005, 21:33:49
After activating the TQuery, inspect the CanModify property to determine whether the request for a live result set was successful.

Note: All multi-table queries return read-only result sets. Other conditions may cause a query to return a read-only result set. For local tables (such as dBASE and Paradox), see the local SQL help file for rules governing live result sets (updatable queries). For other table types (such as InterBase, Oracle, and Sybase), consult the documentation for the specific database system.
Me temo que tendrás que utilizar el componente TUpdateSql, para lo que deseas.

Un Saludo.

kryna
04-04-2005, 21:58:27
pero no se como hacerlo..

me dan unos ejemplos.... para saber que debo colocar en codigo delphi y loque debo colocar en el modifySQL..

otra pregunta de usar UpdateSQL solo usaria un query y ahi podria colocar la inclusin, modificacion y eliminacion???

jachguate
04-04-2005, 22:23:07
El libro "La cara oculta de delphi 4" de Ian Marteens (http://www.marteens.com) tiene (según recuerdo) una sección dedicada a los cached updates, cuya lectura es mas que recomendable.

El libro está disponible para descarga totalmente gratis en la web del autor.

Hasta luego.

;)