0

我正在尝试在我的 Web 应用程序中创建搜索功能。

基本上,我有一个text box和一个button。我也listbox必须呈现搜索结果。

我正在使用以下访问查询,它什么都不返回。

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

的值@name来自text box.

我只想搜索表格的一列,所以我想将返回结果呈现给list box.

我是否需要使用 DataSet 来存储和呈现结果。

任何建议将被认真考虑。

代码:

 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;
        }

在此处输入图像描述

4

2 回答 2

3

我认为你的问题在这里

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

它应该是

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

% 符号周围不应有单引号

于 2013-06-12T09:06:25.540 回答
0

我认为你应该试试这个

string sql = "SELECT [标识符] WHERE [标识符] LIKE '%' + '@name' + '%' ";

于 2013-06-12T13:18:00.047 回答