Aprire e chiudere continuamente la connessione nel TextChanged non è una grande scelta ...
Sarebbe meglio aprire la connessione una volta (magari nella Load) e chiuderla quando termina il programma ...
In ogni caso, se non copi-incolli tutto il codice, come ti dicevo, non si può vedere se fai degli errori ...