Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 转发器搜索查询字符串_C#_Asp.net_Sql Server - Fatal编程技术网

C# 转发器搜索查询字符串

C# 转发器搜索查询字符串,c#,asp.net,sql-server,C#,Asp.net,Sql Server,如何在C#检查news_title中的选择行与我的查询字符串Search类似 这就是我尝试过但没有成功的方法。然后,它应该用类似于查询字符串的结果填充中继器 // Get data from database/repository static DataTable GetDataFromDb() { string searchquery = HttpContext.Current.Request.QueryString["Search"].ToString(); var con

如何在C#检查
news_title
中的选择行与我的查询字符串Search类似

这就是我尝试过但没有成功的方法。然后,它应该用类似于查询字符串的结果填充
中继器

// Get data from database/repository
static DataTable GetDataFromDb()
{
    string searchquery = HttpContext.Current.Request.QueryString["Search"].ToString();

    var con = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ToString());
    con.Open();
    var da = new SqlDataAdapter("SELECT * FROM [news] WHERE ([news_title] " +
                     "LIKE '%' + " + searchquery + " + '%') Order By news_postdate", con);

    var dt = new DataTable();
    da.Fill(dt);
    con.Close();
    return dt;
}
它应该是
“%”+searchquery+“%”
。然而,这种字符串连接是开放的。请尝试以下方式:

var da = new SqlDataAdapter("SELECT * FROM [news] WHERE [news_title] " +
                            "LIKE @Search Order By news_postdate", con);
da.SelectCommand.Parameters.AddWithValue("@Search","%" + searchquery + "%");
或:


虽然直接指定类型并使用
Value
属性比
AddWithValue
更好。看看这个

它不应该是
'%“+searchquery+'%'
?另外,这种字符串连接是开放的。顺便说一句,注意这种代码可能出现的SQL注入。S.Akbari我会尝试你的解决方案,我不关心SQL注入本地项目的乐趣。如果你回答了这个问题,我会让你的答案标记为有效。非常感谢。
var da = new SqlDataAdapter("SELECT * FROM [news] WHERE [news_title]" +
                            " like '%' + @Search+ '%' Order By news_postdate", con);
da.SelectCommand.Parameters.AddWithValue("@Search",searchquery);