Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   modificar registros mediante cgi-webbroker (https://www.clubdelphi.com/foros/showthread.php?t=10429)

[[JONAS]] 19-05-2004 13:38:16

modificar registros mediante cgi-webbroker
 
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
Código:

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

Código:

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

[[JONAS]] 19-05-2004 18:40:24

respuesta
 
Amigos ya está solucionado. Por si a alguien le pasara lo mismo que a mí. he cambiado algo el código:

Código:


var sqlt : string;
begin
        try
        begin
                sqlt := 'Update Vehiculo Set vehdes =' + chr(39) + Request.ContentFields.Values['desvehiculo'] + chr(39);
                sqlt := sqlt + ' where vehcod =' + chr(39) + Request.ContentFields.Values['codvehiculo'] + chr(39);
                with IBQuery1 do
                begin
                  sql.Clear;
                  sql.Add(sqlt);
                  Execsql;
                end;

:p :p


La franja horaria es GMT +2. Ahora son las 07:15:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi