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.