我在使用C#(VS2008)读取MySql数据库(5.1版本)时,返回的DataTable数据中arrivalDate字段数据显示为System.Array[]形式(程序中没有对返回的数据进行任何加工),数据读取时,是使用ADO.Net调用MySql.Data.dll类库(类库版本是5.2.3.0,该类库应该是mysql官方提供的)然后检查Sql语句是否有问题,如下图中的sql
该sql语句在Mysql数据中执行没有问题,本身项目内部没有对数据进行任何加工,那么错误就是可以定位在MySql.Data.dll类库中。经整理测试,我程序中使用另一种sql语句进行了数据读取,如下图
发现,返回的DataTable数据是没有问题。经分析,最后确认为,在使用Sql语句对MySql数据库进行操作时,Sql语句中若含有对时间类型数据进行加工,则必须把加工后的数据,转换成字符串的形式,进行返回。这样处理就没有问题了。
不知道MySql.Data.dll类库的后续版本,会不会解决这个问题。