【发布时间】:2013-06-08 07:35:26
【问题描述】:
我正在尝试在我的网络应用程序中创建搜索功能。
基本上,我有一个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;
}
【问题讨论】:
-
好吧,如果 name = help 然后
SELECT [identifier] FROM [Category3] WHERE [identifier] LIKE '%' help '%';看到放错的引号 -
你指的是哪个放错地方了。
-
尝试“SELECT [identifier] WHERE [identifier] LIKE '%+ @name + %'”;
-
也不能这样工作..
-
如果运行查询会带来值?
标签: c# asp.net sql web-applications