【发布时间】:2012-07-17 11:25:01
【问题描述】:
在 MySQL 数据的 DataGridView 中显示 MonthName 时遇到问题
查询:
SELECT ItemName, Description, PurchaseDate, MONTHNAME(PurchaseDate) AS PurchaseMonth FROM tblItems
错误:
System.ArguementException: 参数无效
显示月份编号,使用MONTH(PurchaseDate) 效果很好,但是当我尝试显示月份名称时,我得到一个数据网格错误。当我在 MySQL 中运行 SQL 时,它会返回预期的结果。
当我添加 DataError 事件时,它只会在应为 MONTHNAME(PurchaseDate) 的字段中显示一个红色的感叹号。
【问题讨论】:
-
该网格的单元格是否定义为仅接受 INT 值?
-
不,尝试在 vb 代码中将字符串 'PurchaseMonth' 打印到单元格中并且显示正常
-
你使用的是强类型
DataTable/TableAdapter吗? -
Dim daItems As New OdbcDataAdapter ... Dim dsItems As New DataSet ... Dim dtItems As New DataTable 我还调整了查询以将其他列(包含字符串)放入该字段并且工作正常.似乎是 MonthName 的问题
-
刚刚投票赞成 BigYellowCactus 的评论 - 如果 Grid 中的该列不期望字符串与 int,那是你的问题。
标签: mysql vb.net datagridview