数据库中表PointValue有三个列,分别是PointName(数据库中是nchar(10)类型)、PointValue(数据库中是nchar(10)类型)、OccurrenceTime(数据库中是datetime类型)
我现在要做的是,将变量pointName、pointValue和当前系统时间分别插入到上面的3个字段中。
但是sql语句没写好调试不通,我的写法如下:string pointName= "NAME1";//点名
Double pointValue = 1.234;//点值string sql = "INSERT INTO PointValue(PointName,PointValue,OccurrenceTime) VALUES ('" + pointName + "','" + pointValue.ToString() + ",'" + Convert.ToString(DateTime.Now) + "')";
希望高手帮我写个sql语句。
感激不尽!!!

解决方案 »

  1.   

    "','" + pointValue.ToString() + "少引号,'"你引号都没成对……当然报错
    数值类型两边都不要引号
      

  2.   

    这样可能会清楚些
     string pointName = "NAME1";//点名
            Double pointValue = 1.234;//点值        string sql = "INSERT INTO PointValue(PointName,PointValue,OccurrenceTime) VALUES ('{0}','{1}','{2}')";
            sql = string.Format(sql, pointName, pointValue, DateTime.Now.ToString());
      

  3.   

    string sql = "INSERT INTO PointValue(PointName,PointValue,OccurrenceTime) VALUES (
    =>string sql = string.Format("INSERT INTO PointValue(PointName,PointValue,OccurrenceTime) VALUES ('{0}','{1}','{2}'",pointName,pointValue,'2010-03-03');
      

  4.   

    string sql =string.Format("INSERT INTO PointValue(PointName,PointValue,OccurrenceTime) VALUES ('{0}','{1}','{2}')",pointName,pointValue.ToString,Convert.ToString(DateTime.Now));
      

  5.   

    用参数比较好string sql = "INSERT INTO PointValue(PointName,PointValue,OccurrenceTime) VALUES (@PointName,@PointValue,@OccurrenceTime)";
      

  6.   

    用 cmd 的 SqlParameter 更好,可避免sql 注入
      

  7.   

    还是建意使用存储过程,这样可以防止SQL注入问题,另外存储过程在数据库中有生成的执行计划,运行效率比较高,对网络的传输也是一种减轻.
      

  8.   

    string pointName= "NAME1";//点名
    double pointValue = 1.234;//点值string sql = "INSERT INTO PointValue(PointName,PointValue,OccurrenceTime) VALUES ('" + pointName + "','" + pointValue.ToString() + "','getdate()')";
      

  9.   

    你的是少了个引号,在写SQL语句时很容易出现这中错误,连接时经常出现 你在以后连接时可以用string.Format 去连接 这样好一点
    有各口诀 在连接字符串时用到 -- 单单(单引号)双双(双引号)加加(+号)
      

  10.   

    string sql = 
    @"INSERT INTO PointValue(PointName,PointValue,OccurrenceTime) VALUES (@PointName,@PointValue,getdate())";
      

  11.   

    string pointName= "NAME1";//点名
    Double pointValue = 1.234;//点值string sql = "INSERT INTO PointValue(PointName,PointValue,OccurrenceTime) VALUES ('" + pointName + "','" + pointValue.ToString() + "','" + Convert.ToString(DateTime.Now) + "')";