Hola Ingeniero, como te dice FGarcia los componentes de DBExpress son unidireccionales y de solo lectura, es por eso que te sale el error
"no puede modificar o insertar en un dataset de solo lectura", porque estas trabajando directamente sobre el SQLTable. Debe haber un cliente que nos ayude en la navegacion y edicion de los datos que llegaria a ser el ClienteDataSet.
Lo que tienes que hacer es lo siguiente, necesitas un ClientDataSet y un DataSetProvider aparte de tu SQLConnection y tu SQLTable. Debes conectar DataSetProvider con tu SQLTable (DataSet->SQLTable) y tu ClientDataSet con tu DataSetProvider (ProviderName->DataSetProvider).
Ahora cuando queramos registrar o modificar datos en nuestra tabla debes hacerlo mediante el CLientDataSet.
Código Delphi
[-]
ClientDataSet1.Open;
ClientDataSet1.Insert;
......
......
ClientDataSet1.Post;
ClientDataSet1.UpplyUpdates(0);
ClientDataSet1.UpplyUpdates, esta ultima linea es muy importante
porque es la que aplica los cambios que has hecho.
Saluditos