重写sql语句后报错
金蝶云社区-1969523032
1969523032
1人赞赏了该文章 673次浏览 未经作者许可,禁止转载编辑于2016年02月17日 12:38:22

销售订单执行明细表的插件进行重写
麻烦大神帮我看看错在哪

报错提示信息为:
查询出现异常。列名 'fid' 无效。
SELECT t1.*, a4.FTaxPrice f_jijia_price INTO TMP3656B7CAD52311E5A12C000C296 FROM TMP3656B7CBD52311E5A12C000C296 t1 LEFT OUTER JOIN T_SAL_ORDERENTRY_F a4 ON t1.fid = a4.fid

Server stack trace:
在 Kingdee.BOS.App.Data.AbstractDatabase.ExecuteNonQuery(DbCommand command, IEnumerable`1 listParam)
在 Kingdee.BOS.App.Data.DBUtils.Execute(Context ctx, String strSQL, IEnumerable`1 paramList, Boolean needTranslate)
在 Kingdee.BOS.App.Data.DBUtils.Execute(Context ctx, String strSQL)
在 ClassLibrary1.Class1.BuilderReportSqlAndTempTable(IRptParams filter, String tableName) 位置 C:\Users\Administrator\Desktop\report\ClassLibrary1\ClassLibrary1\Class1.cs:行号 43
在 Kingdee.BOS.Core.Report.PlugIn.AbstractSysReportServicePlugIn.CreateTempTable(IRptParams filter, String tablename)
在 Kingdee.BOS.Core.Report.PlugIn.AbstractSysReportServicePlugIn.GetDataForVirtual(IRptParams filter)
在 Kingdee.BOS.Core.Report.PlugIn.AbstractSysReportServicePlugIn.GetData(IRptParams filter)
在 Kingdee.BOS.App.Core.PlugInProxy.SysReportServicePlugInProxy.GetReportData(ReportServiceParameter parameter)
在 Kingdee.BOS.App.Core.SysReportService.GetReportData(ReportServiceParameter parameter)

Exception rethrown at [0]:
在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
在 Kingdee.BOS.Contracts.ISysReportService.GetReportData(ReportServiceParameter parameter)
在 Kingdee.BOS.ServiceHelper.SysReportServiceHelper.GetReportData(ReportServiceParameter parameter)
在 Kingdee.BOS.Model.Report.SysReportModel.GetData(Int32 start, Int32 rows)
在 Kingdee.BOS.Web.Report.SysReportView.GetListData()
在 Kingdee.BOS.Web.Report.SysReportView.<>c__DisplayClass3d.b__39()

代码为:
private string[] customRptTempTableNames;
public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName) //开始进行账表sql拼接取数,并把账表取数结果放到上一步创建的临时表中
{
//创建临时表,存放自己的数据
IDBService dbservice = Kingdee.BOS.App.ServiceHelper.GetService();
customRptTempTableNames = dbservice.CreateTemporaryTableName(this.Context, 1);
string strTable = customRptTempTableNames[0];

//调用基类方法,获取初步查询结果到临时表
base.BuilderReportSqlAndTempTable(filter, strTable);

//对初步查询结果进行处理,然后写回基类默认的存放查询结果的临时表
StringBuilder sb = new StringBuilder();

string strSql = "select t1.*,a4.FTaxPrice as F_jijia_Price "

+ "into {0} from {1} t1 "
+ "left join T_SAL_ORDERENTRY_F a4 on t1.fid=a4.fid ";

sb.AppendFormat(strSql, tableName, strTable);
DBUtils.Execute(this.Context, sb.ToString());

}

您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!

请选择打赏金币数 *

10金币20金币30金币40金币50金币60金币
可用金币: 0