First error: line 1:164 no viable alternative at character '<EOF>' salesforce

来源:互联网 发布:东方网络收购 编辑:程序博客网 时间:2024/04/27 16:04

如果你在用字符串拼接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是一个字符串类型的变量。但是要避免出现以上错误。


0 0