Ver Mensaje Individual
  #1  
Antiguo 03-03-2010
Avatar de elaguna
elaguna elaguna is offline
Miembro
 
Registrado: abr 2009
Ubicación: México
Posts: 51
Reputación: 16
elaguna Va por buen camino
Error al ejecutar INSERT con parámetros

Qué tal.

Después de mucho tiempo de no programar estoy regresando al redil, y como era de esperarse me están ocurriendo cosas raras.

Tengo declarada una variable de tipo entero en la cual voy a guardar el número máximo de registros de una tabla e incrementar en 1, esto lo estoy haciendo con un Query.

Código Delphi [-]w_maximo : Integer; Query1.SQL.Clear; Query1.SQL.Add('select max(id_planti) from planti_corr'); Query1.Open; w_maximo := query1.RecordCount + 1; Query1.Close;



Ahora necesito guardar algunos datos con parámetros

Código Delphi [-]Query1.SQL.Clear; Query1.SQL.Add('insert into planti_corr (id_planti, nombre, archivo, tipo, descri) '); Query1.SQL.Add('values (:w_max, :w_nombre, :w_archivo, :w_tip, :w_descrip)'); Query1.ParamByName('w_max').AsInteger := w_maximo; Query1.ParamByName('w_nombre').AsString := edt_Titulo.Text; Query1.ParamByName('w_archivo').AsString := edt_Archivo.Text; Query1.ParamByName('w_tip').AsString := w_tipo; Query1.ParamByName('w_descrip').AsMemo := Trim(mem_Descrip.Text); Query1.ExecSQL;


Pero me manda el error "Type mismatch in expression"

Ya probé enviando cada uno de los campos y todos los campos tipo string, char, memo pasan bien los datos; pero la variable de tipo integer es la que me manda el error.

También probé enviando todas las variables y el parámetro 'w_max' con valor 2 (directo) y todo funciona bien, pero con la variable no.

Ojalá me haya explicado y puedan ayudarme, llevo 2 días con ese mismo problema.

Gracias de antemano a todos.
__________________
No lo intentes!. Hazlo o no lo hagas, pero no lo intentes !!! (Yoda)
Responder Con Cita