【发布时间】:2013-02-14 03:55:33
【问题描述】:
我有一个数据网格视图,它的数据源是 MS Access(具有数据类型、货币、日期/时间和数字),它显示数据库中的数据但不显示其他数据类型,仅显示单词或任何字符串,这是我添加行的代码
string[] rowData = new string[columnCount];
while (dr.Read())
{
for (int k = 0; k < columnCount; k++)
{
if (dr.GetFieldType(k).ToString() == "System.int32")
{
rowData[k] = dr.GetInt32(k).ToString();
}
if (dr.GetFieldType(k).ToString() == "System.String")
{
rowData[k] = dr.GetString(k);
}
}
dataGridView1.Rows.Add(rowData);
}
你能帮我解决这个问题吗?谢谢
【问题讨论】:
-
Access 表中字段的数据类型是什么?您查找 INT32 的测试会忽略字段可以存储为的所有其他潜在数字数据类型。
-
您可以尝试遍历列并将每个字段的数据类型写入控制台,以此来确定每个字段的数据类型。
-
它读取数字而不是数据库中的货币和日期时间,我认为我应该更改数据类型
-
如果可以的话,从 Access 中发布表结构到您的问题。我不会更改 Access 中的数据类型,但会在上面的代码中添加额外的逻辑来处理货币和日期时间。
-
如果,我更改代码并改用数据绑定。
标签: c# winforms datagridview oledb