问题描述
自己开发了小的套打程序,调用FastReport控件来打印,第一次调用的打印没什么问题,第二点击打印,报错错误是:被呼叫方(服务器[不是服务器应用程序])不可用并已消失,所有连接均无效。呼叫可能已执行。下面是调用的代码:Reportreport=newReport();if(EMS.Checked==true){report.Load("Report//EMS.frx");stringsql="selectFID,FCompanyName,FName,FProvince,FCity,FArea,FAddress,FPostcode,FMPhone,Fphone,FDestinationfromtb_infowhereFid='"+Convert.ToInt32(row.Cells["Id"].Value.ToString())+"'";//收件人信息stringsql1="selectFID,FCompanyName,FName,FProvince,FCity,FArea,FAddress,FPostcode,FMPhone,Fphone,FDestinationfromtb_infowhereFName='"+Login.UserName+"'andFTranType=2";//发件人信息//发件人信息stringAddress=daccess.FillDataTable(sql1).Rows[0]["FProvince"].ToString()+""+daccess.FillDataTable(sql1).Rows[0]["FCity"].ToString()+""+daccess.FillDataTable(sql1).Rows[0]["FArea"].ToString()+daccess.FillDataTable(sql1).Rows[0]["FAddress"].ToString();report.SetParameterValue("发件人姓名",daccess.FillDataTable(sql1).Rows[0]["FName"].ToString());report.SetParameterValue("公司名称",daccess.FillDataTable(sql1).Rows[0]["FCompanyName"].ToString());report.SetParameterValue("发件人地址",Address);report.SetParameterValue("发件人邮编",daccess.FillDataTable(sql1).Rows[0]["FPostcode"].ToString());report.SetParameterValue("发件人电话",daccess.FillDataTable(sql1).Rows[0]["Fphone"].ToString());//收件人信息stringAddress1=daccess.FillDataTable(sql).Rows[0]["FProvince"].ToString()+""+daccess.FillDataTable(sql).Rows[0]["FCity"].ToString()+""+daccess.FillDataTable(sql).Rows[0]["FArea"].ToString()+daccess.FillDataTable(sql).Rows[0]["FAddress"].ToString();report.SetParameterValue("收件人姓名",daccess.FillDataTable(sql).Rows[0]["FName"].ToString());report.SetParameterValue("客户",daccess.FillDataTable(sql).Rows[0]["FCompanyName"].ToString());report.SetParameterValue("收件人地址",Address1);report.SetParameterValue("收件人邮编",daccess.FillDataTable(sql).Rows[0]["FPostcode"].ToString());report.SetParameterValue("收件人电话",daccess.FillDataTable(sql).Rows[0]["Fphone"].ToString());}else{report.Load("Report//SF.frx");//GridEXRowrow=this.gridEX1.GetRow(gridEX1.CurrentTable.GridEX.Row);stringsql="selectFID,FCompanyName,FName,FProvince,FCity,FArea,FAddress,FPostcode,FMPhone,Fphone,FDestinationfromtb_infowhereFid='"+Convert.ToInt32(row.Cells["Id"].Value.ToString())+"'";//收件人信息stringsql1="selectFID,FCompanyName,FName,FProvince,FCity,FArea,FAddress,FPostcode,FMPhone,Fphone,FDestinationfromtb_infowhereFName='"+Login.UserName+"'andFTranType=2";//发件人信息//发件人信息stringAddress=daccess.FillDataTable(sql1).Rows[0]["FProvince"].ToString()+""+daccess.FillDataTable(sql1).Rows[0]["FCity"].ToString()+""+daccess.FillDataTable(sql1).Rows[0]["FArea"].ToString()+daccess.FillDataTable(sql1).Rows[0]["FAddress"].ToString();report.SetParameterValue("发件人姓名",daccess.FillDataTable(sql1).Rows[0]["FName"].ToString());report.SetParameterValue("公司名称",daccess.FillDataTable(sql1).Rows[0]["FCompanyName"].ToString());report.SetParameterValue("发件人地址",Address);//report.SetParameterValue("发件人邮编",daccess.FillDataTable(sql1).Rows[0]["FPostcode"].ToString());report.SetParameterValue("发件人电话",daccess.FillDataTable(sql1).Rows[0]["FMphone"].ToString());//收件人信息stringAddress1=daccess.FillDataTable(sql).Rows[0]["FProvince"].ToString()+""+daccess.FillDataTable(sql).Rows[0]["FCity"].ToString()+""+daccess.FillDataTable(sql).Rows[0]["FArea"].ToString()+daccess.FillDataTable(sql).Rows[0]["FAddress"].ToString();report.SetParameterValue("收件人姓名",daccess.FillDataTable(sql).Rows[0]["FName"].ToString());report.SetParameterValue("收件公司",daccess.FillDataTable(sql).Rows[0]["FCompanyName"].ToString());report.SetParameterValue("收件人地址",Address1);//report.SetParameterValue("收件人邮编",daccess.FillDataTable(sql).Rows[0]["FPostcode"].ToString());report.SetParameterValue("收件人电话",daccess.FillDataTable(sql).Rows[0]["FMphone"].ToString());}report.Prepare();report.Show();report.Dispose();
解决方案
解决方案二:
这个调用,貌似很复杂.
解决方案三:
自己顶顶