ramonibk
20-09-2019, 08:11:58
Hola a todos.
una consulta de algo que me esta pasando y ni encuentro una explicación lógica ni manera de solucionarlo.
Estoy trabajando para mostrar un documento CSV en un DBgrid.
con un ADOConnection donde el proveedor es "Microsoft.Jet.OLEDB.4.0"
object ADOConnection1: TADOConnection
Connected = True
ConnectionString =
'Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data ' +
'Source="";Mode=Share Deny None;Extended Properties="TEXT;DATABAS' +
'E=./";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Je' +
't OLEDB:Database Password="";Jet OLEDB:Engine Type=96;Jet OLEDB:' +
'Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet ' +
'OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password' +
'="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Dat' +
'abase=False;Jet OLEDB:Don'#39't Copy Locale on Compact=False;Jet OLE' +
'DB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False'
ConnectOptions = coAsyncConnect
LoginPrompt = False
Mode = cmShareDenyNone
Provider = 'Microsoft.Jet.OLEDB.4.0'
De este cuelga un AdoQuery Donde.
AdoQuery.SQl.text := 'Select * From datos#csv'
Hasta hay todo correo. los datos se muestran sin problema.
el problema aparece si el documento CSV contiene una columna en la cual todo son IP
pues cuando la ip es 192.168.1.250 me pinta 1921681250 los puntos han desaparecido.
si por el contrario la columna es casi todo textos y solo alguna Ip lo pinta todo correctamente.
lo único que he conseguido ver es que cuando son todo IP el objero es
AdoQueryIP: TFloatField.
Pero cuando es mixta
AdoQueryMixta: TWideStringField
¿Hay alguna manera para que la consulta SQL me devuelva todo en modo string?
de esta manera creo que se solucionaría todo el problema.
Un saludo a todos.
y gracias de antemano.
una consulta de algo que me esta pasando y ni encuentro una explicación lógica ni manera de solucionarlo.
Estoy trabajando para mostrar un documento CSV en un DBgrid.
con un ADOConnection donde el proveedor es "Microsoft.Jet.OLEDB.4.0"
object ADOConnection1: TADOConnection
Connected = True
ConnectionString =
'Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data ' +
'Source="";Mode=Share Deny None;Extended Properties="TEXT;DATABAS' +
'E=./";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Je' +
't OLEDB:Database Password="";Jet OLEDB:Engine Type=96;Jet OLEDB:' +
'Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet ' +
'OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password' +
'="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Dat' +
'abase=False;Jet OLEDB:Don'#39't Copy Locale on Compact=False;Jet OLE' +
'DB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False'
ConnectOptions = coAsyncConnect
LoginPrompt = False
Mode = cmShareDenyNone
Provider = 'Microsoft.Jet.OLEDB.4.0'
De este cuelga un AdoQuery Donde.
AdoQuery.SQl.text := 'Select * From datos#csv'
Hasta hay todo correo. los datos se muestran sin problema.
el problema aparece si el documento CSV contiene una columna en la cual todo son IP
pues cuando la ip es 192.168.1.250 me pinta 1921681250 los puntos han desaparecido.
si por el contrario la columna es casi todo textos y solo alguna Ip lo pinta todo correctamente.
lo único que he conseguido ver es que cuando son todo IP el objero es
AdoQueryIP: TFloatField.
Pero cuando es mixta
AdoQueryMixta: TWideStringField
¿Hay alguna manera para que la consulta SQL me devuelva todo en modo string?
de esta manera creo que se solucionaría todo el problema.
Un saludo a todos.
y gracias de antemano.