Try to put some debug logging in your program.
For example... put the following above that line that produces the error:
Showmessage('FieldCount = ' + SQLQuery1.Fields.Count.ToString);
Showmessage('Fields[0].FieldName = ' + SQLQuery1.Fields[0].FieldName);
If the first gives you FieldCount > 0 then the second should work.
If the first gives you 0 then you don't have any fields defined.
The field definition should be done automatically during opening (if they are not predefined by you).
I normally use SQLQuery1.FieldByName('id').AsInteger to get to a particular field.
(Much easier than assuming the first field is the one you want)
If it still doesn't work then you need to show more code.