在delphi中我使用空件query访问数据库(sql 2000),我使用create语句成功创建了表class,有两列,分别为id1 int,yearmonth char.但接着使用insert语句插入值时却出现“在此上下文中不允许使用 '1999-4'。此处只允许使用常量、表达式或变量。不允许使用列名。”在企业管理器中却可以直接输入‘1999-4’,请问这是为什么? query2.SQL.Add('insert into year1 values(4,"1999-4")');

query2.SQL.Add('insert into year1 values(4,'1999-4')');
都报错,为什么啊?

解决方案 »

  1.   

    把yearmonth的类型改成varchar试试!
      

  2.   

    看不出問題, 試下如下:query2.SQL.text := 'insert into year1(id1, yearmonth) values(4,''1999-4'')';用兩個 ', 不要用一個 "
      

  3.   

    query2.SQL.text := 'insert into class(id1, yearmonth) values(4,''1999-4'')';
      

  4.   

    query2.SQL.Add('insert into year1 values(4,''1999-4'')');