2013-03-18 47 views
0

我有一個textbox,dropdownlist和一個綁定到gridview的SQL語句。從下拉列表中獲取GridView SQL LIKE

如何將dropdownlist值添加到WHERE子句之後的SQL語句中?

我試過以下,但它沒有顯示數據。

"SELECT FirstName, LastName FROM tblPerson WHERE '" & ddlSearch.SelectedValue & "' LIKE '%" & txtSearch.Text & "%' ORDER BY FirstName 
+0

警告:[SQL注入](http://en.wikipedia.org/wiki/SQL_injection)攻擊在這裏。特別是如果這將是生產/實時代碼,你應該閱讀如何避免這種情況。有關起點,請參閱http://msdn.microsoft.com/en-us/library/ff648339.aspx。 – xan 2013-03-18 16:46:37

+0

我們可以有更多的上下文嗎?比如:你發佈的代碼片段放在哪裏(哪個事件處理函數?),在.aspx中聲明的元素是什麼等等。 – xan 2013-03-18 16:49:50

+0

@xan這裏是.aspx的   PersonID 名字 ' – 2013-03-18 16:55:38

回答

0

您在您的查詢缺少的列名,以便嘗試這種

string query = "SELECT FirstName, LastName FROM tblPerson 
       WHERE myDDLColumn like '% " + ddlSearch.SelectedValue + "'%'" + "and 
       myTextBoxColumn like '%" + txtSearch.Text + "'%'"; 

編輯:如果您的下拉列表中包含的列名在下拉列表項的值,那麼你可以把它寫成:

string query = "SELECT FirstName, LastName FROM tblPerson WHERE "+ 
       ddlSearch.SelectedValue+" like '%" + txtSearch.Text + "'%'"; 
+0

我認爲ddlSearch包含搜索詞的列被應用於。 – xan 2013-03-18 16:46:00

+0

@xan你可能是正確的,但它沒有指定問題本身,在這裏我試圖給如何使用與查詢中的變量一樣的想法給他。 – Sachin 2013-03-18 16:50:06

+0

@Sachin謝謝。你的建議奏效了。根據您的代碼,我正在使用**&**而不是** **。 – 2013-03-18 17:02:21