Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como pasar un base de dato a otra? (https://www.clubdelphi.com/foros/showthread.php?t=87246)

maxzama 03-12-2014 18:37:54

Como pasar un base de dato a otra?
 
Quiero Exportar los datos de un formato CSV a un IBexpert. El codigo que estoy mostrando, lo estoy corriendo dentro del IBespert.

en la base de dato IBexpert, tengo la tabla DEPENDENCIAI y los campos son(codigo, coleguio, municipio, parroquia).

en el formato CSV(tengo separado los campos con coma).

Quiero saber que me falta o que estoy colocando mal?.

insert into DEPENDENCIAI from CSV 'C:\Users\Maxzama\Desktop\SEMANA43.CSV' DELIMITER ','

Espero su respuesta, por favor y gracias...

duilioisola 03-12-2014 19:15:59

No sabía que IBExpert tenía esta posibilidad...
De todos modos, te ha faltado comentar lo más importante: El mensaje de error!

¿Cuál es el mensaje de error que te da? (Texto completo y sin traducir)
¿Dónde escribes la sentencia "INSERT INTO ..."? (En una ventana SQL, Script, Otra)

maxzama 03-12-2014 20:02:12

Como pasar un base de dato a otra?
 
Gracias por su ayuda...

Utilizo IBexpert.

base de dato IBexpert: Madre, IngresoMadre.

Utilizo dos IBdataset, para la base de datos que son Madre1, IngresoMadre1. Que tienen los mismo campos.


Mensaje Error: Me dice Que fue exitoso. y al yo ver la base de dato(no hay nada, Guarda vació).
// el código tiene una condición, que al buscar en la base dato, se encuentra.Que lo modifique. Si no lo encuentra, que lo inserte.
//Necesito saber que me falta o que coloque mal...


tengo una palabra buscar2, dentro del código (botón guardar). que ase un llamado al siguiente código (buscar2):

function Buscar2(cd:String):boolean;
begin
Dmodulo.Madre1.close;
Dmodulo.Madre1.SelectSQL.Text:='select * from Madre where CEDULA=:OLD';
Dmodulo.Madre1.ParamByname('OLD').value:=Dmodulo.RegistroMadre1.FieldByName('CEDULA').AsString;
Dmodulo.Madre1.Open;
if NOT Dmodulo.Madre1.IsEmpty then
result:=true
else
result:=false;

buscar2:=result;

end;


Código dentro del Botón Guardar:

begin
if application.MessageBox('DESEA GUARDAR?','guardar un Registro',
MB_ICONQUESTION OR MB_YESNO) = ID_YES then
begin
{ if (edit1.Text='') then //or (edit2.Text='') or (EDIT9.Text='') or (EDIT10.Text='') or (EDIT11.Text='')
begin
showmessage('La Cedula no puede quedar en blanco')
end
else }
begin
if Buscar2(Edit1.Text) then
begin
Dmodulo.Madre1.Close;
Dmodulo.Madre1.SelectSQL.Text:=Dmodulo.Madre1.ModifySQL.Text;
Dmodulo.Madre1.ParamByName('OLD_CEDULA'). AsString:=Dmodulo.RegistroMadre1.FieldByName('CEDULA').AsString;
end
else
begin
Dmodulo.Madre1.Close;
Dmodulo.Madre1.SelectSQL.Text:=Dmodulo.Madre1.InsertSQL.Text;
Dmodulo.Madre1.ParamByName('CEDULA'). AsString:=Dmodulo.RegistroMadre1.FieldByName('CEDULA').AsString;
end;
Dmodulo.Madre1.ParamByName('PRIMERNOMBRE').AsString:=Dmodulo.RegistroMadre1.FieldByName('PRIMERNOMBR E').AsString;
Dmodulo.Madre1.ParamByName('PRIMERAPELLIDO').AsString:=Dmodulo.RegistroMadre1.FieldByName('PRIMERAPE LLIDO').AsString;
Dmodulo.Madre1.ParamByName('SEGUNDOAPELLIDO').AsString:=Dmodulo.RegistroMadre1.FieldByName('SEGUNDOA PELLIDO').AsString;

if (form6.RadioButton1.Checked=true) or (form6.RadioButton2.Checked=true) then
begin
Dmodulo.Madre1.ParamByName('SEXO').AsInteger:= Dmodulo.RegistroMadre1.FieldByName('SEXO').AsInteger; //'f'

end
else
if (form6.RadioButton1.Checked=true) or (form6.RadioButton2.Checked=true) then
begin
Dmodulo.Madre1.ParamByName('SEXO').AsInteger:=Dmodulo.RegistroMadre1.FieldByName('SEXO').AsInteger; //'M'

end;

//Dmodulo.Madre1.ParamByName('NACIMIENTO').AsDate:=Dmodulo.RegistroMadre1.ParamByName('NACIMIENTO').As Date;

Dmodulo.Madre1.ParamByName('ESTADOCIVIL').AsString:=Dmodulo.RegistroMadre1.FieldByName('ESTADOCIVIL' ).AsString;
Dmodulo.Madre1.ParamByName('CIUDADMADRE').AsString:=Dmodulo.RegistroMadre1.FieldByName('CIUDADMADRE' ).AsString;
Dmodulo.Madre1.ParamByName('MUNICIPIOMADRE').AsString:=Dmodulo.RegistroMadre1.FieldByName('MUNICIPIO MADRE').AsString;
Dmodulo.Madre1.ParamByName('PARROQUIAMADRE').AsString:=Dmodulo.RegistroMadre1.FieldByName('PARROQUIA MADRE').AsString;
Dmodulo.Madre1.ParamByName('TIPOVIA').AsString:=Dmodulo.RegistroMadre1.FieldByName('TIPOVIA').AsStri ng;
Dmodulo.Madre1.ParamByName('DESCRIPCIONVIA').AsString:=Dmodulo.RegistroMadre1.FieldByName('DESCRIPCI ONVIA').AsString;
Dmodulo.Madre1.ParamByName('TIPOVIVIENDA').AsString:=Dmodulo.RegistroMadre1.FieldByName('TIPOVIVIEND A').AsString;
Dmodulo.Madre1.ParamByName('PUNTOREFERENCIA').AsString:=Dmodulo.RegistroMadre1.FieldByName('PUNTOREF ERENCIA').AsString;
Dmodulo.Madre1.ParamByName('TIPONUCLEO').AsString:=Dmodulo.RegistroMadre1.FieldByName('TIPONUCLEO'). AsString;
Dmodulo.Madre1.ParamByName('DESCRIPCIONNUCLEO').AsString:=Dmodulo.RegistroMadre1.FieldByName('DESCRI PCIONNUCLEO').AsString;
Dmodulo.Madre1.ParamByName('CODIGOAREA').AsString:=Dmodulo.RegistroMadre1.FieldByName('CODIGOAREA'). AsString;
Dmodulo.Madre1.ParamByName('TLFFIJO').AsString:=Dmodulo.RegistroMadre1.FieldByName('TLFFIJO').AsStri ng;
Dmodulo.Madre1.ParamByName('TLFCELULAR').AsString:=Dmodulo.RegistroMadre1.FieldByName('TLFCELULAR'). AsString;
Dmodulo.Madre1.ParamByName('CORREOMADRE').AsString:=Dmodulo.RegistroMadre1.FieldByName('CORREOMADRE' ).AsString;
Dmodulo.Madre1.ParamByName('TIPOOCUPACION').AsString:=Dmodulo.RegistroMadre1.FieldByName('TIPOOCUPAC ION').AsString;
Dmodulo.Madre1.ParamByName('CARGO').AsString:=Dmodulo.RegistroMadre1.FieldByName('CARGO').AsString;
Dmodulo.Madre1.ParamByName('ACTIVIDADECONOMICA').AsString:=Dmodulo.RegistroMadre1.FieldByName('ACTIV IDADECONOMICA').AsString;
Dmodulo.Madre1.ParamByName('TIPOEMPLEO').AsString:=Dmodulo.RegistroMadre1.FieldByName('TIPOEMPLEO'). AsString;

Dmodulo.Madre1.ParamByName('DIRECCION').AsString:=Dmodulo.RegistroMadre1.FieldByName('DIRECCION').As String;

Dmodulo.Madre1.ParamByName('CUENTAINDICAR').AsString:=Dmodulo.RegistroMadre1.FieldByName('CUENTAINDI CAR').AsString;
Dmodulo.Madre1.ParamByName('OFICINAINDICAR').AsString:=Dmodulo.RegistroMadre1.FieldByName('OFICINAIN DICAR').AsString;

Dmodulo.Madre1.ParamByName('CODIGOBANCO').AsString:=Dmodulo.RegistroMadre1.FieldByName('CODIGOBANCO' ).AsString;

//Dmodulo.Madre1.ParamByName('FECHAINGRESO').AsDate:=Dmodulo.RegistroMadre1.ParamByName('FECHAINGRESO' ).AsDate;
Dmodulo.Madre1.ParamByName('CODIGOAREAOFICINA').AsString:=Dmodulo.RegistroMadre1.FieldByName('CODIGO AREAOFICINA').AsString;
Dmodulo.Madre1.ParamByName('TLFOFICINA').AsString:=Dmodulo.RegistroMadre1.FieldByName('TLFOFICINA'). AsString;

Dmodulo.Madre1.ParamByName('CUENTA').AsString:=Dmodulo.RegistroMadre1.FieldByName('CUENTA').AsString ;
Dmodulo.Madre1.ParamByName('NUMEROCUENTA').AsString:=Dmodulo.RegistroMadre1.FieldByName('NUMEROCUENT A').AsString;

Dmodulo.Madre1.ParamByName('MUNICIPIO').AsString:=Dmodulo.RegistroMadre1.FieldByName('MUNICIPIO').As String;
Dmodulo.Madre1.ParamByName('PARROQUIA').AsString:=Dmodulo.RegistroMadre1.FieldByName('PARROQUIA').As String;
Dmodulo.Madre1.ParamByName('CODIGOCOLEGUIO').AsString:=Dmodulo.RegistroMadre1.FieldByName('CODIGOCOL EGUIO').AsString;
Dmodulo.Madre1.ParamByName('NOMBRECOLEGUIO').AsString:=Dmodulo.RegistroMadre1.FieldByName('NOMBRECOL EGUIO').AsString;


Dmodulo.Madre1.ExecSQL;
Dmodulo.ibt.Commit;
Dmodulo.Madre1.SelectSQL.clear;
Dmodulo.Madre1.SelectSQL.Text:=('select * from Madre ');
Dmodulo.Madre1.Open;
SHOWMESSAGE('A sido Insertado');
end;
{ Dmodulo.RegistroMadre1.SelectSQL.clear;
Dmodulo.RegistroMadre1.SelectSQL.Text:=('delete from RegistroMadre');
Dmodulo.RegistroMadre1.ExecSQL;
Dmodulo.RegistroMadre1.SelectSQL.clear;
Dmodulo.RegistroMadre1.SelectSQL.Text:=('select * from RegistroMadre');
Dmodulo.RegistroMadre1.Open;
}
end;
end;

maxzama 03-12-2014 20:05:35

Mensaje de error
 
1)can't format message 13:896 -- message file C:\Windows\firebird.msg not found.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, column 26.
from.


2) SQL Editor

duilioisola 03-12-2014 20:22:12

En el "SQL Editor" solo se pueden poner sentencias SQL.
Lo que has escrito no es una sentencia SQL, por lo que la base de datos no entiende lo que quieres decir.
Básicamente, después de INSERT INTO [TABLA] espera una lista de campos y ha leído FROM.

En el menú "Tools" > "Import Data" tienes la posibilidad de importar desde diferentes ficheros.
Si le dices que es un fichero de texto y luego en las opciones le informas que está separado por coma, hará lo posible por insertarlo en la tabla que le indiques.

Casimiro Notevi 03-12-2014 20:31:02

Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración :)


Recuerda poner los tags al código fuente, ejemplo:



Gracias :)

maxzama 03-12-2014 21:40:59

Algo Asi: o que me falta?

insert into DEPENDENCIAI.codigo,DEPENDENCIAI.coleguio,DEPENDENCIAI.municipio,DEPENDENCIAI.parroquia from DEPENDENCIAI,'C:\Users\Maxzama\Desktop\SEMANA43.CSV' DELIMITER ',' where DEPENDENCIAI.codigo='C:\Users\Maxzama\Desktop\SEMANA43.CSV' DELIMITER ','.codigo and DEPENDENCIAI.coleguio=codigo='C:\Users\Maxzama\Desktop\SEMANA43.CSV' DELIMITER ','.coleguio and DEPENDENCIAI.municipio='C:\Users\Maxzama\Desktop\SEMANA43.CSV' DELIMITER ','.municipio and DEPENDENCIAI.parroquia='C:\Users\Maxzama\Desktop\SEMANA43.CSV' DELIMITER ','.parroquia

maxzama 03-12-2014 21:54:18

como eliminar los mensajes repetidos?

Casimiro Notevi 03-12-2014 22:00:20

Creo que necesitas un tutorial SQL


La franja horaria es GMT +2. Ahora son las 23:40:28.

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