Во-первых, каждый раз, когда у вас возникает ошибка, обычно лучше отправить сообщение об ошибке whole .
Кроме того, при попытке отладить проблему запроса вы должны отправить фактический запрос, отправляемый на ваш сервер / базу данных, и проверить его. Таким образом, вы можете найти различные проблемы, такие как слишком много запятых.
Говоря о том, что, глядя на свой код, вы объединяете строку, и действительно похоже, что у вас слишком много запятых.
Отправленный запрос выглядит так:
insert into DSKKAR00(DSK_ID, DSK_KIND, MON_PYM) VALUES( X,1, ,)
где X - значение вашей переменной WorkRoomNo.
Очевидно, что это неправильный синтаксис и приведет к ошибке, которую вы видели. Запятые указывают, что передается 4 значения, но запрос вставки идентифицирует только 3 столбца.
Следующая проблема связана с самими определениями столбцов. Первый столбец этой таблицы - c (10); третий является с (3). Я немного ржавый, но разве это не те поля персонажей?
Если это так, то вам нужно настроить построитель строк, чтобы добавить соответствующие кавычки вокруг значений ...
Что приводит нас к последней проблеме: не используйте конкатенацию строк для построения запросов. Используйте Параметризованные запросы