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