解决方案 »

  1.   

    如果不加content like ..... 的话是没问题的,只有ID一个条件 ,问题肯定是在content传值问题 ,因为我不晓得具体原因,望大家给出出主意
      

  2.   

    你在哪里学过t-sql的参数查询语句中可以写   like '@p1'  这类东西的? 你把 @ 写到字符串常量里没有任何作用。
      

  3.   

    like 后边需要跟一个变量,例如   like @p1。那么你可以定义一个nvarchar类型的变量p1,它使用你的参数中拼接字符串去产生 like 查询参数。
      

  4.   

    SP大神  ,select id,content from Web_Product where Content like @content1 and id =@id1  是这样写不?
      

  5.   

    SP大神  ,select id,content from Web_Product where Content like @content1 and id =@id1  是这样写不?@content1加上单引号也试过了 还是一样的结果..是我哪里理解错了?
      

  6.   

     Content like @content1    你这还叫like了?? ‘%’+@content1  +‘%’
      

  7.   

    你在C#下如果知道什么是字符串拼接,在SQLSERVER里其实一样的
    问题就是要拼接2次,C#下实现SQL语句的拼接
      

  8.   

    "select id,content from Web_Product where Content like  '%'+@content1+'%' and id =@id1 ";不行啊.
      

  9.   

    能给点提示吗,C#里怎么like  我平时都是直接+参数+,没有用@写法写的 所以不熟悉..
      

  10.   

    直接把值在C#里边拼接到sql语句吧,但可能会存在安全问题
      

  11.   

    不是sqlserver 数据库?
      

  12.   


    你应该另外定义一个变量,不是直接使用 content1
      

  13.   

    或者,也可以直接写表达式,例如   WHERE ABCD LIKE '%' + @content1 + '%'  这类的。
      

  14.   

    不是sqlserver 数据库?
    是SQLSERVER的
      

  15.   

    这么写不行么?嗯 这个不行 ,我现在写成这样,select id,content from Web_Product where Content LIKE '%'+@con+'%' and id =@id1  依然不行 脑壳疼/.
      

  16.   

    要不别用参数,直接写成sql语句
      

  17.   

    你先弄明白如何在数据库客户端直接执行SQL语句(SQLSERVER应该叫查询分析器)
    SQL语句不报错误了之后,用C#来拼接这个SQL语句的字符串
    不要问题都搅在一起,最后也不知道到底哪里不对
      

  18.   

    传参方式的SQL语句实在弄不明白的话,就别@了,直接把值拼接进去算了
      

  19.   

    SQL里执行是正确的 刚刚说了呀......一楼不是说了吗...拼进去不是要考虑特殊字符的问题吗.? 难道他们俩是一样的???
      

  20.   

    select id,content from Web_Product where Content like @content1@content1 = '%abc%'
      

  21.   

    看得晕晕乎乎的,C#中写like怎么这么难?
      

  22.   

    string.format( like '%{0}%',"afadsf");
      

  23.   

    根本没有特殊字符,C#里字符串双引号,SQL语句中单引号
    你在数据库里试的时候就用传参的形式试好,然后改C#拼接
    而不是在SQL中用个简单的语句,跑C#里直接拍头想复杂的语句
      

  24.   

    content like '%“ + content1 +”%' 在c#里直接拼接完成
      

  25.   

    你都已经知道加断点了,不会把sql1的值拿出来放到sql查询分析器里面看看么?
    如果在分析器里面是这样格式: like '%xxx%' 就行了。还有,你这like有意义吗?like一下,又用ID=去精确匹配,like不多此一举?
      

  26.   

    这种SQL语句,会被你们DBA骂死的
      

  27.   

    顺便友情提醒一下and 后面的id=id应该放like前面
      

  28.   

    随便写了个测试代码,我的怎么可以呢?using (SqlConnection sqlconn = new SqlConnection(@"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=InstantSupportTest;Data Source=."))
    {
        sqlconn.Open();
        DataTable dt = new DataTable();
        SqlCommand cmd = new SqlCommand("select * from log where description like '%' + @content + '%'", sqlconn);
        cmd.Parameters.Add(new SqlParameter("@content", SqlDbType.NVarChar) { Value = "Process Completed" });
        SqlDataAdapter adpt = new SqlDataAdapter(cmd);
        int rows = adpt.Fill(dt);
        Console.WriteLine(rows);    sqlconn.Close();
    }
      

  29.   

    其实我这个问题的根本不是要ID跟LIKE一起匹配  我是想问为什么like不行...  多谢你们哈,其实只要实现目的like完全可以不加的,只是我有一次写上了,遇到困难就问一下.. 所以我想解决,万一以后遇到,多谢你们!