У меня есть две таблицы 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
Я могу просмотреть символы 'F' и 'N' в заголовке dbf, открыв файл dbf в Блокноте, но не могу прочитать его на VB, и я не думаю, что это тоже хорошая идея.
Что я могу сделать с этой проблемой?