Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Conexion ADO , argumento no valido (https://www.clubdelphi.com/foros/showthread.php?t=22075)

VRO 06-06-2005 12:29:26

Conexion ADO , argumento no valido
 
Hola, tengo otro problemilla con la conexion ADO

vereis creo la conexion ado con código, de la siguiente forma:

Código Delphi [-]
  var 
            DATABASENAME:String;
         catalog:_catalog;
          ConnectionString,fecha,f,l,lect,con:String;
          TS:TStringList;
          Index,I:Integer;
  begin
     Catalog:=CreateComObject(StringToGUID('ADOX.Catalog')) as _Catalog;
      ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ DATABASENAME;
       //Create new Access database por primera vez
       Catalog.Create(ConnectionString);
       //Conectamos con la base de datos creada.
       datos.ADOConnect.ConnectionString:=ConnectionString+';Persist Security Info=False';
       datos.ADOConnect.Connected:=true;
       //Creamos la tabla texportar.
       datos.ADOQ.SQL.Clear;
  datos.ADOQ.SQL.Add('Create table texportar(registro int IDENTITY (1, 1)' +
   ' NOT NULL ,contador int not null,fecha' + 
   ' date not null,lectura float,consumo float,primary key(registro))');
       datos.ADOQ.ExecSQL;
   
       datos.IBADOQ.First;
       while datos.IBADOQ.Eof=false do
       begin
           lect:=FloatToStr(round(datos.IBADOQ.fieldbyname('lectura').asfloat));
           con:=FloatToStr(round(datos.IBADOQ.fieldbyname('consumo').asfloat));
  
          datos.ADOQ.SQL.Clear;
  datos.ADOQ.SQL.Add('insert into texportar(contador,fecha,lectura,consumo)values('+ datos.IBADOQ.fieldbyname('numero').text+
  ,#'+FormatDateTime('mm/dd/yy',datos.IBADOQ.fieldbyname('fecha').asdatetime)+
  '#,'+lect+','+con+')');
          datos.ADOQ.ExecSQL;
   
         datos.IBADOQ.Next;
       end;
  end;

me crea la base de datos bien pero la tabla no, pero otro dato curioso sólo ocurre esto cuando paso muchos datos , aproximadamente un total de 700000
datos.

Y cuando la base de datos no esta creada, cuando ya está creada no da ningun error, es decir basicamente el error le da con este código ó por algun procedimiento interno, no se.

Si alguien conoce este error y porque suele dar se lo agradeceré eternamente.

Gracias de antemano

Neftali [Germán.Estévez] 06-06-2005 13:25:15

Aquí hay varias cuestiones. Una parte es el tema de creación y otro el de importación.
El código que has añadido funciona bien. De todas formas deberías añadir try..except por si ocurre algun error saber qué está pasando, pero como ya te he dicho la Base de Datos y la tabla en condiciones normales se crean correctamente con éste código.
Con la parte de importación deberías hacer algo similar para controlar posibles errores.
Cuando no te funciona bien, ¿qué error te devuelve? (eso ayudaría...)

VRO 09-06-2005 12:06:53

HOla Neftaí siento no haberte contestado antes, pero ya sabes que donde manda patrón no manda marinero, y el jefe me dijo a ptra cosa que es más urgente.


La expeción que me manda es :

EOleException with message 'Argumento no valido'.

Además sólo me da cuando la base de datos no está creada, si ya está creada y sólo cargo los datos no me da ningun error.

No me dice nada más

Espero que todavía puedas seguir ayudandome.


La franja horaria es GMT +2. Ahora son las 16:25:12.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi