Insert into PSTN_SMS_Linkman_Info(LinkManId,GroupId,Name,NicName,Gender,Birthday,CommemorateDay,Email,QQ,MSN,ICQ,HomePage,NationId,ProvinceId,CityId,Address,PostCode,Fax,CompanyName,Department,Office,Duty,CompanyNationId,CompanyProvinceId,CompanyCityId,CompanyFax,CompanyHomePage,CompanyAddress,CompanyPostCode,SmMusicId,CallMusicId,PictureId,Hobbys,Memo) Values(10,2,'45','df',0,'2006-12-12','2006-12-18','4545','4554','5445','5445','54455454',1,4,1,'5454','54','5445','454545','4554','5454','',1,4,1,'4545','54544444444444444','455454544555555555554545','5454',2,6,3,'45454554','454554')
SQL语法有不一致的地方,比如SQL Server 2000就使用扩展的SQL语句,Delphi用的SQL语法也有区别的,没代码不好说
数据表中这34个字段全部是数字型或文本型吗?
是DateTime类型
其他的都是数字型或文本型
ADOQuery1.SQL.Text :=
'Insert into PSTN_SMS_Linkman_Info(' +
'LinkManId,GroupId,Name,NicName,Gender,Birthday,CommemorateDay,Email,QQ,MSN,ICQ,' +
'HomePage,NationId,ProvinceId,CityId,Address,PostCode,Fax,CompanyName,Department,' +
'Office,Duty,CompanyNationId,CompanyProvinceId,CompanyCityId,CompanyFax,' +
'CompanyHomePage,CompanyAddress,CompanyPostCode,SmMusicId,CallMusicId,' +
'PictureId,Hobbys,Memo) Values(10,2,''45'',''df'',0,''2006-12-12'',''2006-12-18'',' +
'''4545'',''4554'',''5445'',''5445'',''54455454'',1,4,1,''5454'',''54'',''5445'',''454545'',' +
'''4554'',''5454'','''',1,4,1,''4545'',''54544444444444444'',''455454544555555555554545'',' +
'''5454'',2,6,3,''45454554'',''454554'')'; Memo1.Text := ADOQuery1.SQL.Text; // 输出来看看是不是你要的先
end;
1.可能超出了string所能容纳的字符数
2.可能你所付的值已经超出了数据库中定义的限度,
明白我的意思码
Memo1.Text := ADOQuery1.SQL.Text; 输出的结果跟预期的一致.
回hyjsmeng:
你说的
1.可能超出了string所能容纳的字符数
2.可能你所付的值已经超出了数据库中定义的限度,
不会出现SQL语法错的提示吧.我这边一个高手帮我解决了问题,
最后发现是Memo字段和数据库保留的关键字重复了@@