C# 在asp.net中创建搜索功能
我正在尝试在我的web应用程序中实现搜索功能 基本上,我有一个C# 在asp.net中创建搜索功能,c#,asp.net,sql,web-applications,C#,Asp.net,Sql,Web Applications,我正在尝试在我的web应用程序中实现搜索功能 基本上,我有一个文本框和一个按钮。 我还有listbox来呈现搜索结果 我正在对access使用以下查询,但未返回任何内容 SELECT [identifier] FROM [Category3] WHERE [identifier] LIKE '%' + @name + '%'; @name的值来自文本框 我希望只搜索表中的一列,因此我希望将返回结果呈现到列表框 我是否需要使用数据集来存储和呈现结果 如有任何建议,将不胜感激 代码: prote
文本框
和一个按钮
。
我还有listbox
来呈现搜索结果
我正在对access使用以下查询,但未返回任何内容
SELECT [identifier] FROM [Category3]
WHERE [identifier] LIKE '%' + @name + '%';
@name
的值来自文本框
我希望只搜索表中的一列,因此我希望将返回结果呈现到列表框
我是否需要使用数据集来存储和呈现结果
如有任何建议,将不胜感激
代码:
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;
}
受保护的无效按钮1\u单击(对象发送者,事件参数e)
{
searchDB(TextBox1.Text);
}
公共数据集searchDB(字符串标识符)
{
数据集=新数据集();
//创建连接对象
OLEDB连接oleConn=新的OLEDB连接(connString);
尝试
{
尺骨鹰嘴开();
string sql=“选择[identifier],其中[identifier]类似于“%+@name+%””;
OleDbCommand oleComm=新的OleDbCommand(sql,oleConn);
Parameters.Add(“@name”,OleDbType.Char).Value=identifier;
OleDbDataAdapter dataAdapter=新的OleDbDataAdapter(sql,OLECTONN);
dataAdapter.Fill(数据集,“Category3”);
}
捕获(例外情况除外)
{
重定向(“Error.aspx”);
}
最后
{
鹰嘴闭合();
}
如果(dataSet.Tables.Count我想你的问题就在这里
WHERE [identifier] LIKE '%' + @name + '%';
应该是
WHERE [identifier] LIKE '% + @name + %';
不应该在%符号周围加单引号我想你的问题就在这里
WHERE [identifier] LIKE '%' + @name + '%';
应该是
WHERE [identifier] LIKE '% + @name + %';
不应该在%符号周围加单引号我想你应该试试这个
string sql=“选择[identifier],其中[identifier]类似于“%”+“@name”+“;我想您应该试试这个
string sql=“选择[identifier]其中[identifier]类似于“%”++“@name”++“%”;如果name=help,那么从[Category3]中选择[identifier],其中[identifier]类似于“%”help“%”;
查看您所指的错位引号。尝试“选择[identifier]其中[identifier]类似于“++@name+%””;也不是这样。如果运行查询,则会产生值?如果name=help,则从[Category3]中选择[identifier],其中[identifier]类似于“%”help“%”;
查看您所指的放错位置的引号。请尝试“选择[identifier]其中[identifier]类似于“%+@name+%”;也不这样工作..如果运行查询会带来值?+1 Dev N00B您是对的,我有评论,但OP说它不工作。+1 Dev N00B您是对的,我有评论,但OP说它不工作。