各位大虾!帮忙啊,小弟毕业设计难题,急啊!,在线等!
在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')');
都报错,为什么啊?
问题点数:0、回复次数:8Top
1 楼insert2003(高级打字员)回复于 2004-05-04 18:02:16 得分 0
把yearmonth的类型改成varchar试试!Top
2 楼aiirii(ari-http://spaces.msn.com/members/aiirii/)回复于 2004-05-04 18:03:19 得分 0
看不出問題, 試下如下:
query2.SQL.text := 'insert into year1(id1, yearmonth) values(4,''1999-4'')';
用兩個 ', 不要用一個 "Top
3 楼insert2003(高级打字员)回复于 2004-05-04 18:10:05 得分 0
刚刚在查询分析器中试过,没有问题啊!
就是你后面的一句,应该是没问题的!
Top
4 楼dacong(大聪)回复于 2004-05-04 18:37:05 得分 0
query2.SQL.text := 'insert into class(id1, yearmonth) values(4,''1999-4'')';Top
5 楼zousoft(菜菜鸟的战斗诗歌)回复于 2004-05-04 19:07:08 得分 0
你是不是有重复记录了? 看看完整性定义.Top
6 楼w78z(秋风细雨)回复于 2004-05-04 19:44:16 得分 0
可能是主键不能重复吧。。。
每执行一次你检查一次表。。。。。。看看是不是数据已经进去了。。。呵呵。Top
7 楼txlicenhe(马可)回复于 2004-05-04 19:48:00 得分 0
query2.SQL.Add('insert into year1 values(4,''1999-4'')');
Top
8 楼2hope(希望)回复于 2004-05-04 21:26:34 得分 0
写完后加上一条执行的语句,然后重新进行查询.Top




