/// <summary>
        /// 删除一批记录
        /// </summary>
        public void Delete(string strWhere)
        {            StringBuilder strSql = new StringBuilder();
            strSql.Append("delete from BS_MediaTopic_Urls ");
            if (strWhere.Trim() != string.Empty)
            {
                strSql.Append(" where @strWhere ");
                SqlParameter[] parameters = {
new SqlParameter("@strWhere", SqlDbType.VarChar,4000)};
                parameters[0].Value = strWhere;
                DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
            }          
        }
报错 @strWhere  不是有效的布尔表达示 可是  strWhere 是 1=1 也不行

解决方案 »

  1.   

    你 where 应该 有 字段 = @strWhere 吧
      

  2.   

    where @strWhere //where语句后要求跟一个布尔值变量或表达式
    你的@strWhere好像赋的是:SqlDbtype.VarChar类型的;
      

  3.   

    strSql.Append(" where @strWhere ") //问题所在strWhere = @strWhere
      

  4.   

    拼sql语句吧。或者根据逻辑写字段然后带参数
      

  5.   

    有这一句啊 我启用的时候是 比如删除全不记录
      Delete("1=1") //删除全部记录  难道不是 直接替换参数么 ?如果需要实现如何改
      

  6.   

    strSql.Append("delete from BS_MediaTopic_Urls ");
                if (strWhere.Trim() != string.Empty)
                {
                    strSql.AppendFormat(" where {0} ",strWhere);
                    DbHelperSQL.ExecuteSql(strSql.ToString());
                }            
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
      

  7.   


     public void Delete(string strWhere)
            {            StringBuilder strSql = new StringBuilder();
                strSql.Append("delete from BS_MediaTopic_Urls ");
                if (strWhere.Trim() != string.Empty)
                {
                    strSql.Append(" where @strWhere ");
                    SqlParameter[] parameters = {
                        new SqlParameter("@strWhere", SqlDbType.VarChar,4000)};
                    parameters[0].Value = strWhere;
                    DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
                }          
            }如果不是字段=值
    而且是表达式
    建议这样
     public void Delete(string strWhere)
            {            StringBuilder strSql = new StringBuilder();
                strSql.Append("delete from BS_MediaTopic_Urls ");
                if (strWhere.Trim() != string.Empty)
                {
                    strSql.Append(" where '"+strWhere+"'");
                    DbHelperSQL.ExecuteSql(strSql.ToString());
                }          
            }
      

  8.   

    delete from BS_MediaTopic_Urls where strWhere = @strWhere
      

  9.   

     /// <summary>
            /// 删除一批记录
            /// </summary>
            public void Delete(string strWhere)
            {            StringBuilder strSql = new StringBuilder();
                strSql.Append("delete from BS_MediaTopic_Urls ");
                if (strWhere.Trim() != string.Empty)
                {
                    strSql.Append(" where strWhere = @strWhere ");
                    SqlParameter[] parameters = {
                        new SqlParameter("@strWhere", SqlDbType.VarChar,4000)};
                    parameters[0].Value = strWhere;
                    DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
                }          
            }
      

  10.   

    strSql.Append(" where strWhere ")
      

  11.   

    delete from BS_MediaTopic_Urls where strWhere = @strWhere
      

  12.   

    strSql.Append(" where @strWhere ");这句应该改成
    strSql.Append(" where strWhere=@strWhere ");这里strWhere是你要删除的行的字段@srtwhere是你要传的参数。
    (Delete from "表名" where “字段"="参数")这是格式,你后面where的格式有误。
      

  13.   


            /// <summary>
            /// 删除一批记录
             /// </summary>
            public void Delete(string strWhere)
            {            StringBuilder strSql = new StringBuilder();
                strSql.Append("delete from BS_MediaTopic_Urls ");
                if (strWhere.Trim() != string.Empty)
                {
                    strSql.Append("where ");
                    strSql.Append(strWhere);
                    DbHelperSQL.ExecuteSql(strSql.ToString());
                }          
            }