2013-06-12 101 views
0

我想在我的web應用程序中進行搜索功能。在asp.net中創建搜索功能

基本上,我有一個text box和一個button。 我還有listbox來呈現搜索結果。

我正在使用follwing查詢訪問什麼都不返回。

SELECT [identifier] FROM [Category3] 
WHERE [identifier] LIKE '%' + @name + '%'; 

@name的值來自text box

我在尋找僅表中的一列,所以我想將返回結果渲染到list box

我是否需要使用DataSet來存儲和呈現結果。

任何意見將不勝感激。

CODE:

protected void Button1_Click(object sender, EventArgs e) 
     { 
      searchDB(TextBox1.Text); 

     } 



public DataSet searchDB(string identifier) 
     { 
      DataSet dataSet = new DataSet(); 
      // Create connection object 
      OleDbConnection oleConn = new OleDbConnection(connString); 
      try 
      { 
       oleConn.Open(); 
       string sql = "SELECT [identifier] WHERE [identifier] LIKE '% + @name + %'"; 

       OleDbCommand oleComm = new OleDbCommand(sql, oleConn); 
       oleComm.Parameters.Add("@name", OleDbType.Char).Value = identifier; 

       OleDbDataAdapter dataAdapter = new OleDbDataAdapter(sql, oleConn); 
       dataAdapter.Fill(dataSet, "Category3"); 
      } 
      catch (Exception ex) 
      { 
       Response.Redirect("Error.aspx"); 
      } 
      finally 
      { 
       oleConn.Close(); 
      } 
      if (dataSet.Tables.Count <= 0) 
       return null; 
      else 
       return dataSet; 
     } 

enter image description here

+0

提供一些代碼。 –

+0

給我一點時間! –

+1

那麼如果name = help然後'SELECT [identifier] FROM [Category3] WHERE [identifier] LIKE'%'help'%';'看到錯誤的引號 – V4Vendetta

回答

3

我覺得你的問題是在這裏

WHERE [identifier] LIKE '%' + @name + '%'; 

應該

WHERE [identifier] LIKE '% + @name + %'; 

不應該有%符號

+0

+1開發N00B你說得對,我有評論,但OP說,它不工作。 –

+0

試過你的解決方案,並得到了上圖中的錯誤。 –

0

我想你應該試試這個

字符串SQL =圍繞單引號 「SELECT [符] WHERE [符] LIKE '%' + '@name' + '%'」 ;