Самый быстрый способ запустить SQL на многомерном массиве - PullRequest
2 голосов
/ 20 августа 2009

Я хочу взять таблицу в виде многомерного строкового массива (имена столбцов в другом массиве) и использовать инструкцию SQL SELECT для получения подмножества строк.

Улов:

  • таблица вводится пользователем (каждый раз разные таблицы)
  • SQL также вводится пользователем

Нужно ли:

  1. Создать таблицу в SQL
  2. Заполнить таблицу в SQL
  3. Запрос к таблице

или это более простое решение? Например. преобразовать многомерный массив в DataTable и затем запустить SQL для этого объекта?

Ответы [ 2 ]

3 голосов
/ 20 августа 2009

Я думаю, вы могли бы использовать для этого DataTable . Обычно он используется для хранения данных, извлеченных из базы данных, но вы можете заполнить их вручную. Лучшая часть - это метод DataTable.Select (), который позволяет вам написать только предложение WHERE запроса и вернуть соответствующие строки.

1 голос
/ 20 августа 2009

Вы можете создать свое собственное дерево выражений, представляющее запрос, который вводит пользователь. Так работает Linq под капотом. Если бы вы могли привести пример того, что вы пытаетесь достичь, это может помочь также в том, что вы собираетесь написать, например, в приложении на C # для Интернета.

Например, если вы разрешаете своим пользователям вводить новые строки в каком-то графическом интерфейсе для таблицы, тогда вы могли бы сделать это в таблице данных и включить фильтр столбцов для достижения результата, упомянутого выше?

В веб-приложении вы можете иметь поле ввода над каждым столбцом, чтобы пользователи могли вводить данные для фильтрации этого столбца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...