【ErrorType】System.InvalidCastException
【TargetSite】System.String get_String()
【Message】无法将类型为“System.Int32”的对象强制转换为类型“System.String”。
【Source】System.Data
【StackTrace】   在 System.Data.SqlClient.SqlBuffer.get_String()
   在 System.Data.SqlClient.SqlDataReader.GetString(Int32 i)
   在 Read_<>f__AnonymousType0`12(ObjectMaterializer`1 )
   在 System.Data.Linq.SqlClient.ObjectReaderCompiler.ObjectReader`2.MoveNext()
   在 System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   在 System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   在 OverrunFastWeight.FrmWeight.bindDataSet(Boolean isOverrun)
   在 OverrunFastWeight.FrmWeight.bgw_Save_tb_Data_Detect_RunWorkerCompleted(Object sender, RunWorkerCompletedEventArgs e)
   在 System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(RunWorkerCompletedEventArgs e)
   在 System.ComponentModel.BackgroundWorker.AsyncOperationCompleted(Object arg)能不能找到这个错误在那里产生?所有代码都检查了,在运行中,每天偶尔出现0-3次,出现这个的时候,系统就卡死了!郁闷的很!代码调试了很长时间都发现不了问题所在!
系统错误

解决方案 »

  1.   

    仔细检查读取数据库填充数据时,SqlDataReader.GetString这些方法的参数类型
      

  2.   

    我用的是LINQtoSQL,数据库访问,查询,保存都是不用写代码的!
      

  3.   

    无法将类型为“System.Int32”的对象强制转换为类型“System.String”。
    你检查一下你的linq语句里面的参数类型对不对。
      

  4.   

    所有参数都检查了!而且程序平时运行很正常,偶尔才会出现类型转换错误,调试也发现不了问题。所以很郁闷!怀疑是不是LINQ的BUG!
      

  5.   

    发现测试服务器工具SQL Server Management Studio报错:在执行批处理时出现错误。错误消息为: 目录名无效。
      

  6.   

    突然发现VS2010在设计器里面设置窗体大小受限与屏幕当前分辨率,如何设置可以自定义大小,突破屏幕当前分辨率,例如,我的计算机在1024*768下,我想开发1280*1024的Form窗体,如何设置?(不是在代码启动时设置窗体大小,而是要在设计器内部署控件(不自动伸缩))
      

  7.   

    没有办法。除非你的显卡支持滚动屏幕,这样可以让小屏的LCD通过滚动的方式显示超过原始分辨率的分辨率。不过实际使用也很别扭。
      

  8.   

    我估计你那个里面数据是不是有null值,然后生成空对象,导致转换字符串时候出错了。
      

  9.   

    可能是网络连接问题、服务器硬盘满了、资源紧张(服务压力大)、临时目录找不到或不能读写。
    试试重启服务器、如果改过组策略试试改回来、把sql server换到别的服务器看能不能稳定运行。