none
sqlCommand 执行时出现错误 RRS feed

  • 问题

  • 代码:

    string strSQL=@"
    
    DECLARE @ID=INT
    
    SET @ID=1
    
    UPDATE [tblName] SET colName=@ID";
    
    
    
    conn.Open();
    
    SqlCommand cmd = new SqlCommand();
    
    cmd.CommandType = CommandType.Text;
    
    cmd.Connection = conn;
    
    cmd.CommandText = strSQL;
    
    cmd.ExecuteNonQuery();
    
    
    
    
    
    

    执行的时候程序会把 Declare @ID中的 @ID当成是Parameters的变量来处理。
    提示:必须声明标量变量
    但是SQL语句中需要用到 Declare @ID 这样的SQL变量

    求教各位大侠,怎么写才不会出错!,sqlCommand有什么属性设置吗?


    dog
    2010年3月29日 10:17

答案

  • DECLARE 语句的语法有些问题,试试看改成

    DECLARE @id int;

    看看。


    Mark Zhou
    • 已标记为答案 pcodg 2010年3月29日 10:50
    2010年3月29日 10:24
  • 问题解决了。。是我笔误!

    md.CommandText = strSQL; 是正确的

    但是我写成了md.CommandText = strSQL1;

    strSQL1="insert into table (col) values(@id)"

    所以出错了。还是十分感谢


    dog
    • 已标记为答案 pcodg 2010年3月29日 10:50
    2010年3月29日 10:49

全部回复

  • DECLARE 语句的语法有些问题,试试看改成

    DECLARE @id int;

    看看。


    Mark Zhou
    • 已标记为答案 pcodg 2010年3月29日 10:50
    2010年3月29日 10:24
  • 问题解决了。。是我笔误!

    md.CommandText = strSQL; 是正确的

    但是我写成了md.CommandText = strSQL1;

    strSQL1="insert into table (col) values(@id)"

    所以出错了。还是十分感谢


    dog
    • 已标记为答案 pcodg 2010年3月29日 10:50
    2010年3月29日 10:49