在文件名或文件夹名称中间意外添加了%字符

时间:2011-02-01 09:36:24

标签: c# asp.net

我有网页搜索表单,当我在搜索框中提交搜索时, 返回结果,但文件名中包含%。 例如。原始文件名是abc.jpeg,因此返回的结果将是%bc。 或者如果找到了一个文件夹,那么它与文件夹名称相同。 如果文件夹名称是jack,则结果将为ja%ck。 我有文本框(作为搜索框,我已将搜索文本框的值设置为)<%search text%> 感谢您的帮助并花时间阅读它。 我使用的是Asp.net,C#和Access DB。

代码:

iscBuilder.AddSelect("* ");
        iscBuilder.AddFrom("[table1] ");
        iscBuilder.AddWhereClause("( column_name like('%" + pQuery + "%') or column_name like('%" + pQuery + "%') or column_name like('" + pQuery + "%') or column_name like('" + pQuery + "%') )");
        iscBuilder.AddWhereClause("(column_name like( '" + path + "') or column_name like( '" + path + "')) order by column_name");
        OleDbConnection sqlconConnection = (OleDbConnection)DatabaseConnection.Instance.GetConnection();
        OleDbCommand sqlcmdCommand1 = new OleDbCommand(iscBuilder.ToString(), sqlconConnection);
        sqlcmdCommand1.CommandType = CommandType.Text;
This is how i call the function:    public XmlDocument GetSearchResults(string pQuery, string path,int from , int to)
    {
        List <T> ts= T.GetF().Getresult(pQuery, path);

        return createXMLThumnails(thmbNails,from , to);

    }

美好的一天

1 个答案:

答案 0 :(得分:1)

尝试使用参数化查询或存储过程来获取数据 - 所有这些连接字符串使SQL语句非常繁琐且有问题。

请查看使用Parameterised Queries或存储过程。