Ve vašem kódu nevidím nic, co by to provedlo dvakrát. Předpokládám, že se to volá dvakrát. Umístěte bod přerušení na addNewComment
a pokud je volána dvakrát, podívejte se na trasování zásobníku, abyste viděli, odkud je při obou příležitostech volána.
Možná máte například událost, která je volána dvakrát. To se může stát v ASP.NET, pokud máte oba povoleno automatické propojení událostí a událost jste zapojili explicitně.
Mimochodem, určitě byste měli používat parametrizované dotazy ne zřetězení řetězců. Předpokládám, že tento komentář je vstup dodaný uživatelem? V takovém případě se připravujete na útok SQL injection s kódem, který jste ukázali.