La solución es usar usuarios (sql) distintos con privilegios distintos, de tal forma que el usuario que usa la conexión del programa en C tenga privilegios de lectura y escritura en la o las tablas que desees y solo de lectura en las otras, lo mismo para el usuario que usa la conexión de la interface grafica pero sobre tablas distintas...
5.5.2. Adding User Accounts