如果你在用字符串拼接sql的时候,用如下方式拼接。就会出出现如上错误。
SELECT User_lundbeck__c,New_Field_in_day_Lundbeck__c FROM KPI_Report_Lundbeck__c
where RECORDTYPEID= \'01290000000gLBoAAM\' and KPI_Report_Month_lundbeck__c='+this.monthandyear;
解析出来的sql中如下(假如:this.monthandyser的值为2013-12、
KPI_Report_Month_lundbeck__c的类型为text
SELECT User_lundbeck__c,New_Field_in_day_Lundbeck__c FROM KPI_Report_Lundbeck__c
where RECORDTYPEID= '01290000000gLBoAAM' and KPI_Report_Month_lundbeck__c=2013-12
你会发现 没有用‘’ 引起来。所以出现了如上错误
正确的写法如下:
SELECT User_lundbeck__c,New_Field_in_day_Lundbeck__c FROM KPI_Report_Lundbeck__c
where RECORDTYPEID= \'01290000000gLBoAAM\' and KPI_Report_Month_lundbeck__c=\''+this.monthandyear+'\'';
补充在salesforce中,还有可以用这种方式
String str = 'select Id,Name from Account where Id = :strid';
其中strid是一个字符串类型的变量。但是要避免出现以上错误。