zoukankan      html  css  js  c++  java
  • 微软EnterpriseLibrary中使用SQL LIKE语句遇到的问题

    下面是使用微软EnterpriseLibrary时的一段代码:

    public DataTable GetContractReportData(string userName)
    {
        Database db = DatabaseFactory.CreateDatabase("SQLDBConnection");
         string sql = @"SELECT 
                              [UserName]
                             ,[Birthday]
                        FROM [UserInfo]
                        WHERE 1 = 1 AND [UserName] LIKE '%@userName%' ";
         DataTable dt = new DataTable();
         using (DbCommand cmd = db.GetSqlStringCommand(sql))
         {
             db.AddInParameter(cmd, "@userName", DbType.String, userName);
             dt = db.ExecuteDataSet(cmd).Tables[0];
         }

         return dt;
    }
    执行上面的代码后,返回空记录,可DB里明明是有数据的。经过仔细研究,发现LIKE语句的使用有问题,只要把上例中红色标识的代码替换为
    WHERE 1 = 1 AND [UserName] LIKE '%' + @userName + ’%'";
    程序执行后可以正常返回记录。

  • 相关阅读:
    Centos8 安装mongodb
    java 时间处理
    从技术走向管理李元芳履职记 读书记录
    debian基本操作
    centos8 安装kudu
    k8s api调用示例
    idea other settings
    C# Random生成相同随机数的解决方案
    DropDownList绑定选择数据报错问题
    离谱
  • 原文地址:https://www.cnblogs.com/andy65007/p/1212993.html
Copyright © 2011-2022 走看看