Ambas componentes están diseñadas para presentar datos en forma tabular. Ciertamente puedes poblar un StringGrid con los resultados de una consulta pero es un trabajo manual en el que tienes que recorrer todos los registros y llenar las celdas dándoles el formato adecuado según el tipo de campo que sea. En un DBGrid todo se hace automáticamente al conectarlo a la componente Query através de un DataSource. Además, el DBGrid será mucho más eficiente que el StringGrid para presentar los datos, sobre todo cuando son muchos registros, ya que el DBGrid trabaja en "modo virtual", esto es, almacena únicamente los datos que en un momento dado son visibles al usuario, mientras que con el StringGrid tendrías que almacenar todos los registros aun cuando no estén mostrándose.
En definitiva, un StringGrid no está diseñado para presentar datos de una consulta.
Si de alternativas a un DBGrid se trata, en todo caso yo optaría por un ListView en modo virtual.
// Saludos
|