请问这是个什么错误?

jolin_sy 2014-04-15 11:15:32
System.Data.EvaluateException: Cannot perform '=' operation on System.Int32 and System.String.
at System.Data.BinaryNode.BinaryCompare(Object vLeft, Object vRight, StorageType resultType, Int32 op)
at System.Data.Select.Eval(BinaryNode expr, DataRow row, DataRowVersion version)
at System.Data.Select.Evaluate(Int32 record)
at System.Data.Select.FindFirstMatchingRecord()
at System.Data.Select.SelectRows()
at Project_Manage.Spreadsheet.ExcelAction.ExcelActionForPutInOut.SalesBudget(ExcelCF tt, Worksheet ws, String item, String PeriodID)
at Project_Manage.Spreadsheet.ExcelAction.ExcelActionForPutInOut.DeviceDataSummary(String modelPath, String savePath, String& downPath, String PeriodID)
...全文
117 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
feiyun0112 2014-04-15
  • 打赏
  • 举报
回复
item是什么类型,valuein[i, 8]值是什么


写log看看
紫魂一号 2014-04-15
  • 打赏
  • 举报
回复
Excel?? 那估计 是服务器上的excel 没安装或者版本不一致
jolin_sy 2014-04-15
  • 打赏
  • 举报
回复
private void SalesBudget(ExcelCF tt, Excel.Worksheet ws, string item, string PeriodID) { ws = tt.GetWorksheet(tt.wb, item); if (ws != null) { object[,] valuein = null; int x = tt.GetY(ws, "*$col");//获取colX轴 int y = tt.GetX(ws, "*$row");//获取rowY轴 System.Data.DataTable dt = null; dt = DevicePutInOutInfoUtility.Instance.DeviceSalesBudget(PeriodID); if (x != 0 || y != 0) { Excel.Range r = null; r = (Range)tt.GetCellsRangeforXY(ws, 4, 1, y - 1, x - 2); valuein = r.Formula; for (int i = 1; i < y - 3; i++) { if (valuein[i, 3] != null && valuein[i, 3] != "") { DataRow[] arrayDR = dt.Select("Item = '" + valuein[i, 3] + "'"); foreach (DataRow arr in arrayDR) { valuein[i, 3] = arr[1].ToString(); valuein[i, 4] = arr[2].ToString(); valuein[i, 5] = arr[3].ToString(); } } if (valuein[i, 8] != null && valuein[i, 8] != "") { DataRow[] arrayDR = dt.Select("Item = '" + valuein[i, 8] + "'"); foreach (DataRow arr in arrayDR) { valuein[i, 8] = arr[1].ToString(); valuein[i, 9] = arr[2].ToString(); valuein[i, 10] = arr[3].ToString(); } } } } tt.SetCellsValue(ws, valuein, 4, 1, y - 4, x - 2); } } 本地没错误,放服务器就报错
Kylor 2014-04-15
  • 打赏
  • 举报
回复
这个应该是数据类型错误吧? 是否执行什么等于号什么比对了? 看看后面有没有值?
jolin_sy 2014-04-15
  • 打赏
  • 举报
回复
引用 4 楼 feiyun0112 的回复:
item是什么类型,valuein[i, 8]值是什么 写log看看
额 查DATATABLE 的时候 ITEM 是INT的 结果加了个'' 就出错了 可是在本地确是没事 放服务器上就不行 唉、、

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧