string strSqlLog="insert into OpLog (Opuser,OpType,OpDate,Ip,Memo) VALUES ('"+strUsrId+"','Query',GETDATE(),'"+strAddr+"','"+this.Label1.Text+"')";
this.SqlExecuteNonQuery(strSqlLog,true);这个是我的插入语句,老提示错误,this.Label1.Text 是一个SQL语句,是这里的问题,不知道怎么把SQL语句以字符串的等式放到数据库中,请指点一下

解决方案 »

  1.   

    把你定义的变量拿出来看下
    Opuser,OpType,OpDate,Ip,Memo分别是什么内心的
    如果是字符串 就'"+k+"'
    不是就 "+k+",
    你的
    'Query',GETDATE(),'"+strAddr+"','"+this.Label1.Text+"'
    这里有问题
      

  2.   

    this.Label1.Text中是不是包含单引号啊?把'替换成两个''试下
    this.Label1.Text.replace("'","''")
      

  3.   

    在数据库中怎么存储一个SQL语句????
      

  4.   

    使用 SqlParameters
     string strSqlLog = "insert into OpLog (Opuser,OpType,OpDate,Ip,Memo) VALUES ('" + strUsrId + "','Query',GETDATE(),'" + strAddr + "',@Memo)";
                SqlCommand _SqlCommand = new SqlCommand(strSqlLog);            _SqlCommand.Parameters.Add(new SqlParameter("@Memo", SqlDbType.VarChar, 100));
                _SqlCommand.Parameters[0].Value = this.Label1.Text;
      

  5.   

    对数据库进行操作的语句最好不要用自己组装字符串的形式来做
    如6楼所写的那样,用SqlParameters来做的话,效率会快上很多
      

  6.   


    你的sql语句是什么样的,有什么关键字嘛,用参数好了
    这样还可以有效避免注入
      

  7.   

    其实我就是想用一个INSET 语句把操作记录插入到数据库中的一个字段Memo中,也就相当于一个日志数据库,string strSqlLog="insert into OpLog (Opuser,OpType,OpDate,Ip,Memo) VALUES ('"+strUsrId+"','Query',GETDATE(),'"+strAddr+"','"+this.Label1.Text+"')"; 
    this.SqlExecuteNonQuery(strSqlLog,true); 插入到最后一个字段的时候要报错,就是语句的问题,我先用你们的方法试试看
      

  8.   

    将那些都换成值在SQL查询分析器中去执行一下看看正确不??
    this.Label1.Text这里面有些什么东西呀??如果有引号其他的东西就得转义
      

  9.   

    string strSqlLog="insert into OpLog (Opuser,OpType,OpDate,Ip) VALUES ('"+strUsrId+"','Query',GETDATE(),'"+strAddr+"',@Memo)";

    SqlCommand _SqlCommand = new SqlCommand(strSqlLog); 
    _SqlCommand.Parameters.Add(new SqlParameter("@Memo", SqlDbType.VarChar, 100)); 
    _SqlCommand.Parameters[0].Value = this.Label3.Text; 
    this.SqlExecuteNonQuery(strSqlLog,true);提示必须声明 @Memo 变量,不好意思我是新手,在哪里声明????先谢谢了
      

  10.   

    先把sql语句到查询分析器上运行一遍 
    之后一个一个的参数套进去ok