I realized that this problem is occurring because of the BCD typing, since by setting the 'EnableBCD' parameter to False the error no longer occurs. The error occurs in both the Direct mode and other modes using a vendor library.
Problem encountered using latest version of the DevArt Driver (9.1) and Delphi 10.4
Unit.pas:
Code: Select all
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, DBXDevartSQLServer,
Data.FMTBcd, Data.SqlExpr, Vcl.Grids, Vcl.DBGrids, Datasnap.DBClient,
Datasnap.Provider, SimpleDS, Data.DBXMsSQL, Data.DBXPool;
type
TForm1 = class(TForm)
dbgrd1: TDBGrid;
ds1: TDataSource;
con1: TSQLConnection;
smpldtst1: TSimpleDataSet;
procedure FormActivate(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
const
USER:String = 'TestSqlServer';
PASSWORD:String = '9Xc6H^4E';
SERVER:String = 'bdtestesqlserver.rpinfo.com.br';
DATABASE:String = 'erp';
procedure TForm1.FormActivate(Sender: TObject);
begin
//Code for demonstrate the problem occuring in the column 'Forn_CodVinc'
with con1.Params do begin
//When setting EnableBCD=False the problem with column 'Forn_CodVinc' do not occur again
//Add('EnableBCD=False');
Add('User_Name='+USER);
Add('Password='+PASSWORD);
Add('HostName='+SERVER);
Add('DataBase='+DATABASE);
end;
con1.Open;
smpldtst1.Open;
end;
end.
Code: Select all
object Form1: TForm1
Left = 0
Top = 0
Caption = 'Form1'
ClientHeight = 299
ClientWidth = 635
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
OnActivate = FormActivate
PixelsPerInch = 96
TextHeight = 13
object dbgrd1: TDBGrid
Left = 0
Top = 0
Width = 635
Height = 299
Align = alClient
DataSource = ds1
TabOrder = 0
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -11
TitleFont.Name = 'Tahoma'
TitleFont.Style = []
Columns = <
item
Expanded = False
FieldName = 'Forn_Codigo'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_Nome'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_RazaoSocial'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_CNPJCPF'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_Situacao'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_CodVinc'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_InscricaoEstadual'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_InscricaoMunicipal'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_RegJuntaComercial'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_Atividade'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_Endereco'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_EnderecoNumero'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_EnderecoCompl'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_Bairro'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_CEP'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_CxPostal'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_Muni_Codigo'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_Fone'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_Fax'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_EMail'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_Marcas'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_PercFunrural'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_ObsPedidos'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_ContaContabil'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_Comp_Codigo'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_TransfFundos'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_EnderecoInd'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_MuniInd_Codigo'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_FoneIndustria'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_FaxIndustria'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_CodEAN'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_ObsTrocas'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_DataCad'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_DataAlt'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_Usua_Codigo'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_Contribuinte'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_BloqAutPgto'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_AtTabPrForn'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_CaracTrib'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_ContaBloqueio'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_ProntaEntrega'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_SenhaCot'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_Status'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_Extra1'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_Tipos'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_CExtra1'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_CExtra2'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_CExtra3'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_CExtra4'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_ContribPrev'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_UsuAlt'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_CodigoServicos'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_CPFProdutor'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_CAEPF'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_IndIntermediador'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_NomeUsuIntermediador'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_CodOrigemPVD'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_DtHrManutencao'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_DtHrIntegracao'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_PercGilrat'
Visible = True
end
item
Expanded = False
FieldName = 'Forn_PercSenar'
Visible = True
end>
end
object ds1: TDataSource
DataSet = smpldtst1
Left = 96
Top = 128
end
object con1: TSQLConnection
DriverName = 'DevartSQLServerDirect'
LoginPrompt = False
Left = 16
Top = 128
end
object smpldtst1: TSimpleDataSet
Aggregates = <>
Connection = con1
DataSet.CommandText =
'SELECT * FROM fornecedores WHERE forn_Status='#39'N'#39' ORDER BY FORN_C' +
'ODIGO'
DataSet.MaxBlobSize = -1
DataSet.Params = <>
Params = <>
Left = 56
Top = 128
end
end