所以这是我的问题:我有一个网站,我必须搜索它上面的东西。 这是我的sql句子:
public DataTable Search(string Keyword)
{
return db.GetData("SELECT * FROM tblBehandlinger WHERE fldYdelse LIKE @1",
"%" + Keyword + "%");
}
但是你可以看到它只会搜索表名“fldYdelse”。我的工作正常,但我的问题是它不会搜索两件事。 这就是我希望它如何:
public DataTable Search(string Keyword)
{
return db.GetData("SELECT * FROM tblBehandlinger WHERE fldYdelse LIKE
@1 OR fldPris @2", "%" + Keyword + "%");
}
这是我search.aspx
网站的后端:
string keyword = Request.QueryString["search"].ToString();
foreach (DataRow item in s.Search(keyword).Rows)
{
//BLAH BLAH BLAH
}
但我不能列出来。
答案 0 :(得分:2)
您还必须使用第二个参数LIKE
编写fldPris
谓词。您的sql语句应如下所示:
SELECT *
FROM tblBehandlinger
WHERE fldYdelse LIKE @1
OR fldPris LIKE @2
而不是:
SELECT *
FROM tblBehandlinger
WHERE fldYdelse LIKE @1
OR fldPris @2
答案 1 :(得分:0)
在C#中重复一个参数(字符串)很便宜...你想两次使用一个参数吗?
return db.GetData("SELECT * FROM tblBehandlinger " +
"WHERE fldYdelse LIKE @1 OR fldPris LIKE @2",
"%" + Keyword + "%", "%" + Keyword + "%");
或者你真的错过了第二次喜欢?
答案 2 :(得分:0)
我认为你的意思是
return db.GetData("SELECT * FROM tblBehandlinger WHERE fldYdelse LIKE
@1 OR fldPris LIKE @1", "%" + Keyword + "%");
这是相同的关键字