Ver Mensaje Individual
  #27  
Antiguo 01-09-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por daragor Ver Mensaje
Hola amigos, como hago para la sintaxis de este caso en insersion SQL. Aclaro que estoy usando un datamodule llamado DM y la instruccion sql del query es:

Código:
INSERT INTO articulos (nom,pc,pv,stk) VALUES (:NOM,:PC,:PV,:STK)
El codigo, A y M son variables del caso:
Código Delphi [-]
procedure TForm1.grabaClick(Sender: TObject);
begin
  case oper of
  'A': DM.QAlta_art.ParamByName('NOM').AsString:= Trim(nom.Text);
       DM.QAlta_art.ParamByName('PC').AsFloat:= StrToFloat(pc.Text);
       DM.QAlta_art.ParamByName('PV').AsFloat:= StrToFloat(pv.Text);
       DM.QAlta_art.ParamByName('STK').AsInteger:= StrToInt(stk.Text);
       DM.QAlta_art.ExecSQL;
  'M': ShowMessage('Codigo de Edicion de articulo.');
  end;
end

Me da el siguiente error al compilar:
unit1.pas(34,35) Hint: Parameter "Column" not used
unit1.pas(79,68) Error: Constant and CASE types do not match
unit1.pas(79,68) Error: Constant Expression expected
unit1.pas(79,68) Fatal: Syntax error, ":" expected but ";" found
En realidad, hay algo que no nos muestras, porque no se sabe a qué se refiere eso de Column. Por otra parte, múltiples sentencias en un mismo caso de un case deben ir en un bloque begin-end.

No tengo claro que intentas hacer. ¿Porqué juntar en un mismo botón el código de inserción y el de modificado?

pd: el nombre de los parámetros es indistinto.

// Saludos
Responder Con Cita