使用FindBySql方法时返回“指定的转换无效”,不知是什么原因?

Aug 23, 2010 at 5:54 PM


例如有表a、b、c, a表有id,c1,c2,c3字段。
写了一个查询SQL,以其他表中的数据为条件进行筛选:
select c1,c2,c3 from a where c3 in (select b.id  from b where b.sid in (select c.id form c))
 
通过lephone_logs的监控,取出这段SQL在MYSQL里执行正常。
但是在 FindBySql 方法的时候总是返回 “指定的转换无效”的异常,不知道是什么原因,如何进行改进?

Coordinator
Aug 24, 2010 at 12:08 AM

使用FindBySql,必须自己保证此语句返回的数据类型,和Model里的类型完全一致,很多数据库驱动程序在复杂查询下,返回的类型不是原始类型,你可能需要修改sql,使用cast之类的语句调整输出类型,或者修改Model以便正确查询。

Aug 24, 2010 at 4:03 AM

OK,明白。