Как выбрать строку из таблицы данных, используя два значения переменной? - PullRequest
1 голос
/ 15 июня 2011

Хорошо, так что я пытаюсь сделать здесь, выбрать из таблицы данных все строки, которые соответствуют двум переменным.Во-первых, я запросил SPList в таблицу данных.У таблицы данных есть два столбца: идентификатор клиента и сведения о модели.Вот часть кода, так что, надеюсь, вы сможете понять, что я пытаюсь сделать.

//These are contained within a foreach loop, so will be different through each
//iteration through.
int iClientID = gdbData.GetClientID(iJobNumberID);
string strModelDetails = xeApprovalUpdate.GetAttribute("ModelDetails");
string strClientID = iClientID.ToString()
//Here my datatable is populated from the sharepoint list I query
DataTable dtabModelDetails = queryModelDetails(splModelDetails);
DataRow[] drModelDetails = dtabModelDetails.Select(strClientID, strModelDetails);

Видя, что это не сработало, я попытался сделать следующее утверждение:1005 *

Теперь я получаю синтаксическую ошибку для оператора select, но я почти уверен, что мой синтаксис правильный?Я получил бы эту ошибку, если бы мой оператор выбора не возвратил строки?

Ответы [ 2 ]

3 голосов
/ 15 июня 2011

Да, вы можете добавить параметры в объект SqlCommand. Добавьте один параметр для каждого параметра в вашем операторе выбора.

Кроме того, если в именах столбцов есть пробелы, их необходимо заключить в квадратные скобки.

    DataRow[] drModelDetails = dtabModelDetails.Select("[Client ID] = @ClientID AND [Model Details] =@ModelDetails")

    cmd.Parameters.Add(new SqlParameter("@ClientID", ClientID));
    cmd.Parameters.Add(new SqlParameter("@ModelDetails", ModelDetails));
1 голос
/ 15 июня 2011

Да, вы можете добавить выражение where к методу DataTable Select следующим образом ...

DataRow[] drModelDetails = dtabModelDetails.Select("Client ID = '" + clientId + "' AND Model Details = '" + modelDetails + "'");
...