用DBExpress里面的SQLQuery组件,执行 insert into bigrichlist values('4','2001-10-3 0:01:57','<?xml version="1.0" encoding="gb2312" ?><DFWML type="富翁列表 - 2001-10-3 0:01:54"><U NO="1">) .报错,No value for parameter '01:54"><U NO="1">。
直接在SQL环境下执行这句语句没有任何问题。把insert语句中的':'去掉,SQLQuery就能执行成功了,我怀疑是':'的问题,是不是作了什么参数的转义符?那位指点一下.

解决方案 »

  1.   

    语句应该是
    into bigrichlist values('4','2001-10-3 0:01:57','<?xml version="1.0" encoding="gb2312" ?><DFWML type="富翁列表 - 2001-10-3 0:01:54"><U NO="1">') ;上面少打一个',语法没有问题的
      

  2.   

    冒号在SQLQuery组件里是做为参数的,你可以写
    SQLQuery1.SQL.Add('insert into bigrichlist values(:a,:b,:c)');
    SQLQuery1.Params[0].Value:='4';
    SQLQuery1.Params[1].Value:='2001-10-3 0:01:57';
    SQLQuery1.Params[2].Value:='<?xml version="1.0" encoding="gb2312" ?><DFWML type="富翁列表 - 2001-10-3 0:01:54"><U NO="1">';
    SQLQuery1.ExecSQL()
      

  3.   

    问题基本解决了,谢谢lion_lh。但是有没有简单一点的办法?比如冒号有没有转义符?