Dim tt As String = "工程师"
   Dim kk As String   
    kk = "select * from 公司招聘信息 where 职位名称 like '%@id%'"
        Dim cmd As New SqlCommand(kk, con)
        cmd.Parameters.Add("@id", SqlDbType.NVarChar).Value = tt
        Dim adp As New SqlDataAdapter(cmd)
    以上like 模糊查询语句,换成
   kk = "select * from 公司招聘信息 where 职位名称 like '%工程师%'" 这样可以, 
 kk = "select * from 公司招聘信息 where 职位名称 like '%@id%'"          ====这样就不行    请教为什么,如可解决?

解决方案 »

  1.   

    kk = "select * from 公司招聘信息 where 职位名称 like '%'+@id+'%'"
      

  2.   

    kk = "select * from 公司招聘信息 where 职位名称 like '%@id%'"          ====这样就不行
    -------------------------------------------------------------------------------------
    把上面的改成
    kk = "select * from 公司招聘信息 where 职位名称 like '%' @id '%'"
      

  3.   

    那是取变量,要连接字符的
    kk = "select * from 公司招聘信息 where 职位名称 like '%" & @id & "%'"
      

  4.   

    一时发的快,才发现上面的错了,应该是:
    kk = "select * from 公司招聘信息 where 职位名称 like '%'+@id+'%'"
      

  5.   

    晕,又错了,这是在VB.NET中,应该是:
    kk = "select * from 公司招聘信息 where 职位名称 like '%'&@id&'%'"
      

  6.   

    kk="select * from 公司招聘信息 where 职位名称 like '%" & @id & "%'"
      

  7.   

    sorry 没注意看,上面的应该不对
    试试这个,注意只有最开始和最后是双引号,中间的部分全是单引号。
    kk="exec('select * from 公司招聘信息 where 职位名称 like '%'' + cast(@id as varchar) + ''%'"
      

  8.   

    晕了,又少个括号
    kk="exec('select * from 公司招聘信息 where 职位名称 like '%'' + cast(@id as varchar) + ''%')"