:
sqlCommand.CommandText = "SELECT ID FROM :category";
sqlCommand.CommandType = CommandType.Text;
sqlCommand.Parameters["name"].Value = category;
Так стоп, что? Название таблицы?
А че, просто конкатенация тебя не устраивает?
sqlCommand.CommandText = "SELECT ID FROM " + category;
Ужас... Вы хоть поняли, что написали?
Вот примерно так, думаю должно быть.
sqlCommand.CommandText = "SELECT ID FROM category where name = :name";
sqlCommand.CommandType = CommandType.Text;
sqlCommand.Parameters["name"].Value = category;