在cshtml中获取`like`的查询

时间:2014-07-07 21:23:57

标签: sql razor asp.net-webpages

我有在我的数据库中搜索信息的代码:

var querysearchcommand = "SELECT * FROM student, forum_thread, notice where student_username like '%@0%' or student_firstname like '%@0%' or student_lastname like '%@0%' or forum_thread_title like '%@0%' or notice_body like '%@0%'";

var querysearchdata = db.Query(querysearchcommand, query);

结果总是没有显示,而我的学生的名字中包含字母' a'。

有人可以帮助我解决我在这里做错的事吗?

2 个答案:

答案 0 :(得分:1)

我认为您需要连接LIKE比较

中使用的字符串
var querysearchcommand = "SELECT * FROM student, forum_thread, notice where student_username like '%' + @0 + '%'"; // and so on

答案 1 :(得分:1)

您的查询应该像

var querysearchcommand = @"SELECT * FROM student, forum_thread, notice 
    where student_username like @0 or student_firstname like @0 or 
    student_lastname like @0 or forum_thread_title like @0 or 
    notice_body like @0";

var querysearchdata = db.Query(querysearchcommand, "%" + query + "%");

注意querysearchcommand值之前的@:它创建一个可以跨越多行的逐字字符串。