Первые извинения, поскольку на этом сайте есть похожие вопросы, но никто из них не отвечает на эту проблему напрямую.
Im, используя типизированные наборы данных в VS 2010. Я создаю TableAdapter в наборе данных с запросом типа:
SELECT * from Table WHERE ID IN(@IDs)
Теперь, если я вызываю: TableAdapter.Fill(MyDataTable,"1,2,3")
возникает ошибка, указывающая, что VS не может преобразовать 1,2,3 в тип int. Достаточно справедливо.
Итак, я решил изменить тип параметра (например, @IDs) на строку в коллекции параметров. Повторите попытку - все еще такое же сообщение об ошибке.
Итак, есть ли способ, которым этот типизированный набор данных может принять мой параметр "1,2,3"? На данный момент у меня есть только несколько параметров, чтобы пройти, поэтому я мог бы просто создать 5 или около того параметров и передать их отдельно, но что, если есть сотни? Есть ли способ, которым я могу вызвать метод Fill()
с моим параметром, разделенным запятой?
(я знаю, что могу использовать Dynamic SQL для создания инструкции и ее выполнения, но предпочел бы, если есть другой способ, позволяющий мне сохранить свой типизированный набор данных для использования, например, в ReportViewer/bindingsources)