Nie widzę w twoim kodzie niczego, co mogłoby go wykonać dwukrotnie. Przypuszczam, że wywoływana jest dwukrotnie. Umieść punkt przerwania w addNewComment
a jeśli jest wywoływana dwukrotnie, spójrz na ślady stosu, aby zobaczyć, skąd jest wywoływana za każdym razem.
Może masz na przykład wydarzenie, które jest wywoływane dwukrotnie. Może się to zdarzyć w ASP.NET, jeśli oboje macie włączone automatyczne łączenie zdarzeń i jawnie okablowaliście zdarzenie.
Przy okazji zdecydowanie powinieneś używać zapytań sparametryzowanych nie konkatenacja ciągów. Zakładam, że komentarz jest wprowadzany przez użytkownika? W takim przypadku przygotowujesz się do ataku typu SQL injection za pomocą pokazanego kodu.