PDA

Ver la Versión Completa : Ayuda con Error Access Violation


Salnhack
10-08-2012, 21:08:04
Buenas

Necesito que me ayuden con lo siguiente

Al Hacer click en un boton el cual me debe generar una consulta

procedure TForm19.suiButton1Click(Sender: TObject);
begin
with DataModule3.Query1 do
begin
Close;
SQL.Clear;
SQL.Add('UPDATE procesamiento SET inicioproceso=1');
ExecSQL;
Close;
SQL.Clear;
SQL.Add('Insert Into mesactivo(mesactivo)');
Sql.Add('values (:pmes)');
ParamByName('pmes').AsInteger:=suiDBGrid1.Columns.Items[3].Field.AsInteger;
ExecSQL;
end;
end;



me sale un error de Access Violation y no se porque y me marca la siguiente linea del codigo

ParamByName('pmes').AsInteger:=suiDBGrid1.Columns.Items[3].Field.AsInteger;


agradeceria cualquier ayuda

Gracias

Casimiro Notevi
10-08-2012, 21:54:43
Y si pones un breakpoint en esa línea, antes de ejecutarla, ¿qué valor tiene suiDBGrid1.Columns.Items[3].Field.AsInteger?

Salnhack
10-08-2012, 22:12:16
el codigo lo que me deve hacer el iniciar el procesamiento en la aplicaciones, en una form tengo un DBLookupComboBox donqe cargo el año y en dependencia al año escogido se carga en el dbrid los meses, escojo el mes en que voy a inicializar al aplicaciones y en la tabla procesamiento pongo 1 (0 no inicializado y 1 inicializado), luego en la tabla mes activo inserto el id del mes en que inicie a trabajar.

eso es lo deve hacer el codigo

en suiDBGrid1.Columns.Items[3].Field.AsInteger tiene el valor del id del mes que voy a activar

Casimiro Notevi
10-08-2012, 22:14:33
en suiDBGrid1.Columns.Items[3].Field.AsInteger tiene el valor del id del mes que voy a activar

Sí, pero si pones un breakpoint en esa línea, antes de ejecutarla, ¿qué valor tiene suiDBGrid1.Columns.Items[3].Field.AsInteger?
.

Salnhack
10-08-2012, 22:25:34
Gracias a tu pregunta me di cuenta cual era el problema y es que estaba utilizando el mismo query con que cargaba el dbgrid y por eso me daba el error pues suiDBGrid1.Columns.Items[3].Field.AsInteger
no tenia ningun valor a la hora de asignarselo a la consulta.

mil gracias.

Casimiro Notevi
10-08-2012, 22:42:42
Gracias a tu pregunta me di cuenta cual era el problema y es que estaba utilizando el mismo query con que cargaba el dbgrid y por eso me daba el error pues suiDBGrid1.Columns.Items[3].Field.AsInteger
no tenia ningun valor a la hora de asignarselo a la consulta.

mil gracias.

Era lógico, con casi toda seguridad el problema estaba ahí.