[[JONAS]]
19-05-2004, 13:38:16
Hola amigos, tengo un problema a la hora de intentar modificar un registro mediante un update desde la información enviada por un formulario web.
Uso delphi7 y el programa es un cgi en webbroker que corre bajo un windows server 2000 y un servidor web IIS.
Me explico:
mi programa posee 3 acciones:
1-Muestra una tabla mediante un DataSetTableProducer y en la columna de la clave primaria hago un link hacia la 2º accion pasándole como parámetro el valor del CellData.
2-En la 2º acción: hago un select para localizar ese registro mediante un IBDataSet de interbase
with IBDataSet1 do
begin
close;
selectsql.Clear;
selectsql.Text := 'select * from vehiculo where vehcod = :vehicle';
params[0].Value := Request.QueryFields.Values['vehiculo']; //codigo enviado desde la página entradavehiculo.html
open;
end;
Response.Content := modificarvehiculo.Content;
Y luego esta acción genera un formulario web para poder modificar los valores de este registro. El código de la clave primaria lo devuelve oculto.
3- En esta acción lo que hago es recoger los valores del formulario para poder modificarlo. para ello uso un IBQuery de interbase
with IBQuery1 do
begin
close;
sql.Clear;
sql.Text := 'Update Vehiculo Set vehdes =' + Request.ContentFields.Values['desvehiculo'] +
'where vehcod in select vehcod from vehiculo where vehcod = :vehicle';
params[0].Value := Request.ContentFields.Values['codvehiculo']; //codigo enviado desde
Execsql;
open;
post;
IBTransaction1.CommitRetaining;
end;
Pero con esto no merealiza la modificación del registro.
Alguien me podría indicar que hago mal? o como y que componentes debería usar?
Gracias por adelantado :D
Uso delphi7 y el programa es un cgi en webbroker que corre bajo un windows server 2000 y un servidor web IIS.
Me explico:
mi programa posee 3 acciones:
1-Muestra una tabla mediante un DataSetTableProducer y en la columna de la clave primaria hago un link hacia la 2º accion pasándole como parámetro el valor del CellData.
2-En la 2º acción: hago un select para localizar ese registro mediante un IBDataSet de interbase
with IBDataSet1 do
begin
close;
selectsql.Clear;
selectsql.Text := 'select * from vehiculo where vehcod = :vehicle';
params[0].Value := Request.QueryFields.Values['vehiculo']; //codigo enviado desde la página entradavehiculo.html
open;
end;
Response.Content := modificarvehiculo.Content;
Y luego esta acción genera un formulario web para poder modificar los valores de este registro. El código de la clave primaria lo devuelve oculto.
3- En esta acción lo que hago es recoger los valores del formulario para poder modificarlo. para ello uso un IBQuery de interbase
with IBQuery1 do
begin
close;
sql.Clear;
sql.Text := 'Update Vehiculo Set vehdes =' + Request.ContentFields.Values['desvehiculo'] +
'where vehcod in select vehcod from vehiculo where vehcod = :vehicle';
params[0].Value := Request.ContentFields.Values['codvehiculo']; //codigo enviado desde
Execsql;
open;
post;
IBTransaction1.CommitRetaining;
end;
Pero con esto no merealiza la modificación del registro.
Alguien me podría indicar que hago mal? o como y que componentes debería usar?
Gracias por adelantado :D