我有两个dbf表,必须按列(字段)类型进行比较。例如:
表1:Id (Numeric) | Name (Character) | Salary (Numeric)
表2:Id (Numeric) | Name (Character) | Salary (Float)
使用这两个表程序应该显示消息(类型在字段SALARY [F <> N]
中不匹配),其中F是浮点数,N是数字。
所以我找不到这些字段之间的区别,因为对于两个表
Using cmd2 As New OleDb.OleDbCommand("select * from Table1", connection)
Dim reader As OleDb.OleDbDataReader
reader = cmd2.ExecuteReader()
reader.GetDataTypeName(2) 'returns DBTYPE_NUMERIC
reader.GetFieldType(2) 'returns System.Decimal
End Using
Using cmd3 As New OleDb.OleDbCommand("select * from Table2", connection)
Dim reader2 As OleDb.OleDbDataReader
reader2 = cmd3.ExecuteReader()
reader2.GetDataTypeName(2) 'returns DBTYPE_NUMERIC
reader2.GetFieldType(2) 'returns System.Decimal
End Using
我可以通过在记事本中打开dbf文件来查看dbf头文件中的'F'和'N'字符,但无法将其读取到VB,我认为这也不是一个好主意。
我该怎么处理这个问题?
答案 0 :(得分:0)
F
和N
类型完全相同,它们之间没有区别。
更有用的区别是它们的设置,因为您可以指定字段中存储的位数和小数位数。
不幸的是,我不知道如何在VB.Net中检查它。