Delphi - conexion ODBC Mysql

 
Vista:

conexion ODBC Mysql

Publicado por Frank (1 intervención) el 13/03/2015 00:34:54
Necesito, por favor, ayuda con lo siguiente:
Estoy convirtiendo una base de datos de Access a MySQL, con la complejidad adicional de que al copiar cada registro, de algunas tablas, debo cambiar los datos de algunos campos. Para que me entiendan mejor les explico con un ejemplo:
Tengo una tabla, en access, llamada Datos q tiene un campo llamado Direccion de tipo texto y quiero copiar sus registros hacia otra tabla de igual nombre en MySQL.
Yo programe en delphi 7 una aplicacion q utilizando ODBC se conecta con MySQL; y uso la rutina q se muestra debajo para copiar los registros:

acdatos.Open;

for i:=0 to acdatos.RecordCount-1 do

beguin

mydatos.Append;

mydatosdireccion.Value := acdatosdireccion.Value;

mydatos.Post;

acdatos.Next;

end; //for

El problema q esta sucediendo es q cuando el campo Direccion de la tabla en access esta vacio (NULL) entonces, en el campo de la tabla de MySQL se copia la informacion del registro q se copio anteriormente , o sea, los campos vacios me los "llena" con la informacion q tenia el registro q se copio anteriormente.

Gracias por cualquier sugerencia.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

conexion ODBC Mysql

Publicado por E.T. (1244 intervenciones) el 14/03/2015 20:54:09
No deberia sucederte eso, el codigo está bien, intenta insertar un dato vacio al estar en null

1
2
3
4
5
6
7
8
9
10
11
acdatos.Open;
for i:=0 to acdatos.RecordCount-1 do
begin
mydatos.Append;
if trim(acdatosdireccion.asString) <> '' then
  mydatosdireccion.Value := acdatosdireccion.Value
else
  mydatosdireccion.Value := '';
mydatos.Post;
acdatos.Next;
end; //for
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar