При чтении из БД Oracle данных типа (Type) Decimal (Size=12, Scale=6) и присвоении данных переменной типа Decimal или ячейки в Excel и в DataGrid, визуализация значений без знака разделителя целой и дробной части. Например, 5.01 как 501
Среда разработки Visual Studio 2003, проект VB.Application, доступ к БД Oracle с использованием ADO.NET, драйвера ODBC, объектов Adapter и DataSet.
Краткое содержание:
Me.OdbcSelectCommand32.CommandText = "SELECT ASKP.SALDO_PERETOK.* FROM ASKP.SALDO_PERETOK" & s1
Me.OdbcSelectCommand32.CommandText = "SELECT OBJECT_ID, DAY, P_0030, P_0100, P_0130, P_0200, P_0230, P_0300, P" & _
"_0330, P_0400, P_0430, P_0500, P_0530, P_0600, P_0630, P_0700, P_0730, P_0800, P" & _
"_0830/1000, P_0900, P_0930, P_1000, P_1030, P_1100, P_1130/1000, P_1200, P_1230, P_1300, P" & _
"_1330, P_1400, P_1430, P_1500, P_1530, P_1600, P_1630/1000, P_1700, P_1730, P_1800, P" & _
"_1830/1000, P_1900, P_1930, P_2000, P_2030, P_2100, P_2130, P_2200, P_2230, P_2300, P" & _
"_2330, P_2400, FILE_DAY FROM ASKP.SALDO_PERETOK" & s1
Me.OdbcSelectCommand32.Connection = Me.OdbcConnection1
Me.OdbcDataAdapter32.SelectCommand = Me.OdbcSelectCommand32
Me.OdbcDataAdapter32.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "SALDO_PERETOK", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("OBJECT_ID", "OBJECT_ID"), New System.Data.Common.DataColumnMapping("DAY", "DAY"), New System.Data.Common.DataColumnMapping("P_0030", "P_0030"), New
. . .
System.Data.Common.DataColumnMapping("P_2330", "P_2330"), New System.Data.Common.DataColumnMapping("P_2400", "P_2400"), New System.Data.Common.DataColumnMapping("FILE_DAY", "FILE_DAY")})})
OdbcDataAdapter32.Fill(DataSet11)
Dim oExcel As Excel.Application
Dim oBook As Excel.Workbook
Dim oSheet As Excel.Worksheet
Dim i As Int16, d(5) As Decimal
. . .
Вариации присвоения данных и применения функций преобразования данных приводят к одинаковому результату – отсутствию знака разделителя целой и дробной части
oSheet.Cells(2, 5).Value = DataSet11.SALDO_PERETOK.Item(i).P_0030
oSheet.Cells(2, 6).Value = Val(DataSet11.SALDO_PERETOK.Item(i).P_0100)
d(0) = Val(DataSet11.SALDO_PERETOK.Item(i).P_0830.ToString() & "D")
d(1) = CDec(DataSet11.SALDO_PERETOK.Item(i).P_1130)