SqlCommand cmd = new SqlCommand();
cmd.commandtext = "update  a set col&@m = @m " ; 
cmd.parameters.add("M",sqldbtype.int).value = 100 ; 
cmd.executeNonQuery();总是说变量 @m 没有声明是帐MSSQL 抛出的异常  
好像是说我 等号前面的@m 没有定义请问, 各位老大如何处理这个问题;

解决方案 »

  1.   

    cmd.commandtext = "update  a set col&@m = @m " ;  //col&m 是什么?
    cmd.parameters.add("@M",sqldbtype.int).value = 100 ; 
      

  2.   

    SqlCommand cmd = new SqlCommand();
    cmd.commandtext = "update a set [col&@m] = @TT " ;
    cmd.parameters.add("@@TT",sqldbtype.int).value = 100 ;
    cmd.executeNonQuery();
      

  3.   

    我是楼主我把的问题再解释一下SqlCommand cmd = new SqlCommand();
    cmd.commandtext = "update a set col&@m = @m " ;// a 是表名 Col 是列名  @m 是一个参数  
    cmd.parameters.add("M",sqldbtype.int).value = 100 ;
    cmd.executeNonQuery();总是说变量 @m 没有声明是帐MSSQL 抛出的异常
    好像是说我 等号前面的@m 没有定义请问, 各位老大如何处理这个问题;
      

  4.   

    SqlCommand cmd = new SqlCommand();
    cmd.commandtext = "update a set col = @m " ;// a 是表名 Col 是列名  @m 是一个参数  
    cmd.parameters.add("@m",sqldbtype.int).value = 100 ;
    cmd.executeNonQuery();
      

  5.   


    各位大哥位请注意一下最关键的地方: 
    cmd.commandtext = "update a set col & @m = @m " ;// a 是表名 Col 是列名 @m 是一个参数 
    //@M一共出现两次 在等号前  还一个                                     
      

  6.   

    再说明一下
    列col的类型是MSSQL 的varbinary
      

  7.   

    看不明白你的这句SQL语句的意思
    update a set col & @m = @m 
    这是要更新a表中的col值=@m?还是什么?
      

  8.   

    对不起各位了, 小弟写一句 应该是SELECT  语句SqlCommand cmd = new SqlCommand();
    cmd.commandtext = "Select * from  a where col&@m = @m " ;
    cmd.parameters.add("M",sqldbtype.int).value = 100 ;
    cmd.executeNonQuery();//目的就是要查询出表中 Col列与数据@M 进行与操作之后还等于M的记录 
    还请各位老大出招。
      

  9.   

    //目的就是要查询出表中 Col列与数据@M 进行与操作之后还等于M的记录 
    用一整列的值( Col列)和数据@M进行操作??
      

  10.   

    我觉得这个问题的使用整型值也是一样的 
    关键的问题我觉得在于 
    // pararmeters 对于 Commandtext 中的 “=”前的@m  的转换问题 
    cmd.commandtext = "Select * from a where col&@m = @m " ;
    cmd.parameters.add("M",sqldbtype.int).value = 100 ;如果在查询分析器中执行 
    Select * from a where col& 100 = 100 ; 是完全正确的 
    我现在就是想通过参数的形式将这个语句实现。//非常感谢您的再次参与
      

  11.   

    cmd.commandtext = "Select * from  a where col"+var+"= '"+var +"'";
    不知道楼主是否想要这样的效果 
    大约这样 楼主不是VB出身的吧
      

  12.   

    你是不是想写成
    update a set col100 = 100如果是这样,你可以用replace
    string str="update a set col@m = @m " ;
    str=str.Replace("@m","100");
    cmd.commandtext =str;
      

  13.   

    cmd.commandtext = "update  a set col = col & @m "
    ????
      

  14.   

    TO: :feiyun0112(http://feiyun0112.cnblogs.com/) SqlCommand cmd = new SqlCommand();
    cmd.commandtext = "Select * from a where col&@m = @m " ;
    cmd.parameters.add("M",sqldbtype.int).value = 100 ;
    cmd.executeNonQuery();//目的就是要查询出表中 Col列与数据@M 进行与操作之后还等于M的记录
    还请各位老大出招。
      

  15.   

    到底是更新还是查询?
    我让你搞乱了如果查询
    cmd.commandtext = "Select * from a where col&@m = @m " ;//这样就可以了
    如果更新
    cmd.commandtext = "update t set  col = @m where col&@m = @m " ;