好的,所以我在這裏試圖做的是從數據表中選擇所有匹配兩個變量的行。首先,我將SPList查詢成一個數據表。數據表有兩列,客戶端ID和模型詳細信息。以下是一些代碼,希望您能瞭解我正在嘗試的內容。如何使用兩個變量值從數據表中選擇一行?
//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);
看到,因爲沒有工作,我嘗試做以下select語句:
DataTable dtabModelDetails = queryModelDetails(splModelDetails);
string strDataExpression = "ClientID = " + strClientID + " AND Title = " + strModelDetails;
DataRow[] drModelDetails = dtabModelDetails.Select(strDataExpression);
現在我得到一個語法錯誤SELECT語句,但我敢肯定我的語法是正確的?如果我的select語句沒有返回任何行,我會得到這個錯誤嗎?
這不是參數化的,就像他要求的一樣,應該不惜一切代價避免。它很容易受到SQL注入攻擊,並且不會對其中包含特殊sql字符的變量進行編碼,如'如果您的變量值中包含撇號,則會發生異常。 – 2011-06-15 20:01:12
是的,我同意 - 但我不會將'SqlParameter'添加到Datatable Select表達式中。你也會得到一個抱怨'cmd'變量的編譯錯誤。 – MNIK 2011-06-15 20:17:47
這給我一個語法錯誤。 – OneFreeFitz 2011-06-16 14:59:55