SELECT * FROM Lx WHERE Zt LIKE '%@Zt%'
参数无法赋值,不知道怎么改?我需要通过传参进入,各位帮帮忙,谢谢啦

解决方案 »

  1.   

    SELECT * FROM Lx WHERE Zt LIKE '%"+@Zt+"%'
      

  2.   


    strSQL="SELECT * FROM Lx"
    不加条件就可以取到数据我用VB,这样取不到数据strSQL="SELECT * FROM Lx WHERE Zt LIKE '%""+@Zt+""%'"
      

  3.   

    declare @zt varchar(10)
    set @zt = '01'
    declare @sql nvarchar(4000)
    set @sql = 'SELECT * FROM lx WHERE Zt LIKE ''%' + @Zt + '%'''
    exec sp_executesql @sql
      

  4.   

    ----------------------------------------
    通过后台写存储过程前台我想也可以
    string aa="@Zt
    SELECT * FROM Lx WHERE Zt LIKE '%"+aa+"%'
    ----------------------------------------------
    这样能否取到值跟踪下那个sql语句
      

  5.   

    string aa="@Zt" 
    SELECT * FROM Lx WHERE Zt LIKE '%"+aa+"%' 这样取不到值。
    对了,感谢楼上各位朋友,我不是用存储过程,现在试了好多方法了,快崩溃了,依然无法解决。
      

  6.   

    CommandText="SELECT * FROM Lx WHERE Zt LIKE @zt";
    Command.Parameters.AddWithValue(@zt,SqlDbType.string,"%"+aa+"%);
      

  7.   

    楼主是想在asp.net中用这个sql语句还是就在SQL中做查询?
      

  8.   

    我想将此语句作为程序后台的sql查询语句,在VB中作为带参数的查询可以执行strSQL="SELECT * FROM Lx"
    如何改成带参数的查询语句?
    strSQL="SELECT * FROM Lx WHERE Zt LIKE '%@Zt%'" 
      

  9.   


    你这个语句难道在CSharp环境下可以用吗?Command.Parameters.AddWithValue只能带两个参数"%"+aa+"%这里应该少一个引号吧
      

  10.   

    三个参数,1)参数引用,2)参数类型3)参数值这个方法是AddWithValue,而不是add,所以有三个参数.好像是忘加了引号
      

  11.   

    VB.NET 2005 只能带两个参数
      

  12.   

    那你再添上一句
    parm.value="%'+aa+'%"
      

  13.   

    SqlDataParameter  parm=new sqlDataParameter();
    parm.add(...,...);
    parm.value=...;
    大概格式是这样,你再修改修改,还没有搞定?
      

  14.   

    你可以在后台用加方法过滤字符串        public static string SqlReplace(string str)
            {
                str = str.Trim();
                str = str.Replace("'", "''");
                str = str.Replace("\"", "");
                str = str.Replace("%", "");
                str = str.Replace("--", "");
                str = str.Replace(";", "");
                str = str.Replace("(", "");
                str = str.Replace(")", "");
                str = str.Replace("_", "");
                return str;
            }
      

  15.   

    应该是你的这个@Zt变量中包含有"["这个sql保留字符将[字符替换成[[]试试
      

  16.   

    SELECT * FROM Lx WHERE Zt LIKE '%@Zt%'是想要取那个值吗?
      

  17.   

    SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);
       SqlCommand comm=new SqlCommand("SELECT * FROM Lx WHERE Zt LIKE @zt",conn);
    SqlParameter parm1=new SqlParameter("@Zt",SqlDbType.NVarChar,50);
    comm.Parameters.Add(parm1);
      

  18.   

    SELECT * FROM Lx WHERE Zt LIKE '%@Zt%'