至少你的字符串就写的不正确了,‘在字符串里用''来表示,
另外,insert好像不能用open而要用一个执行sql的命令好像是exesql什么的!
我只看人家加说过,具体忘了,查帮助吧!

解决方案 »

  1.   

    query1.sql.add('values (103,''阿膜西林'')');
      

  2.   

    query1.sql.add('values (103,''阿膜西林'')');
      

  3.   

    query1.sql.add('values ('103','阿膜西林)');插入字串我习惯用query1.sql.add('values ('+chr(39)+'103'+chr(39)+','+chr(39)+'阿膜西林'+chr(39)+')');总之就是用CHR(39)代替 ‘'’
      

  4.   

    哥们你写错了:(
    query1.close;
    query1.sql.text := 'Insert into table (ypdm,ypmc) values(103,''阿膜西林'')';
    //query1.sql.Add('insert into table1 (ypdm,ypmc)');
    //query1.sql.add('values (103,''阿膜西林'')');
    query1.execsql;//不返回值
    {query1.open;//需要返回值}
    //ypdm药品代码是否为数值型!
    //如果为字符型则是value(''103'',''阿膜西林'')