SQL.Text := ('Insert into Info(Data1,Data2,IP) Values('+Data1+','+Data2+','+'''192.168.55.55'''+')');
运行的时候提示'.55'附近有语法错误

解决方案 »

  1.   

    SQL.Text := 
    ('Insert into Info(Data1,Data2,IP) Values('+Data1+','+Data2+',''192.168.55.55'')'); 试试是不是可以,不敢保证
      

  2.   

    SQL.Text := 'Insert into Info(Data1,Data2,IP) Values('''+Data1+''','''+Data2+''','''192.168.55.55''')'; 
      

  3.   

    SQL.Text:='Insert into Info(Data1,Data2,IP) Values(''+Data1+'',''+Data2+'',''192.168.55.55'')'; 
      

  4.   

    SQL.Text:='Insert into Info(Data1,Data2,IP) Values('''+Data1+''','''+Data2+''',''192.168.55.55'')';
      

  5.   

    对了,外括号要去掉
    SQL.Text := 'Insert into Info(Data1,Data2,IP) Values('+Data1+','+Data2+',''192.168.55.55'')'; 
      

  6.   

    SQL.Text := 'Insert into Info(Data1,Data2,IP) Values('''+Data1+''','''+Data2+''',''192.168.55.55'')'; 
      

  7.   

    1楼和2楼的都不能编译的
    3楼可以编译,但是values()里的data1和data2是参数,运行完会把'+data1+'和'+data2+'放进表中
      

  8.   

    我做的是三层,这句是在客户端调用的
    整句为
    aIntf.Insert('Insert into Info(CIP,CName,HostIP) Values('+IP+','+CName+','+'''192.168.55.55'''+')');
    4楼运行完显示‘将截断字符串或二进制数据’
      

  9.   

    你用的是三层?
    那你可以在服务端写好一个函数,设三个WideString参数进行传递.
    然后在客户端调用服务器函数
    这样就OK了
      

  10.   

    SQL.Text := (Format('Insert into Info(Data1,Data2,IP) Values(''%s'',''%s'',''%s'')',[Data1,Data2,'192.168.55.55'])); 
      

  11.   

    回楼上,data1是ip地址的格式,运行时显示'将截断字符串或二进制数据'错误
      

  12.   

    SQL.Text := 'Insert into Info(Data1,Data2,IP) Values(:data1,:data2,:ip)';
    parameters.parambyname('data1').value := data1;
    parameters.parambyname('data2').value := data2;
    parameters.parambyname('ip').value := '192.168.55.55';