Delphi - clave foranea

 
Vista:

clave foranea

Publicado por david (55 intervenciones) el 03/03/2007 08:32:49
Buenos dias a todos y gracias por anticipado.

mi problema es el siguiente yo tengo una tabla de mysql que es facturas y otra que son las lineas de las facturas.bueno pues yo copio desde delphi desde una tabla auxiliar de lineasfactura(dbgrid)a otra tabla de lineas que es la que guardo.pero en esta ultima que tengo definida una clave foranea(codfaccli) que viene de facturas siempre me pone null y no se porque gracias
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

RE:clave foranea

Publicado por BigLuis (713 intervenciones) el 03/03/2007 15:51:41
El valor de la clave en la tabla lineas de facturas lo has de dar tú, para que la relacion se establezca adecuadamente. MySQL no te insertará nada ya que (de momento) no puede adivinar a que factura pertenecen la lineas que estas insetando ¿me entiendes?. Si utilizas el tipo de tabla MyISAM ten cuidado porque este tipo no es relacional por lo que te permitirá introducir un valor en la clave de relacion que no exista en la tabla facturas. Para ello lo mas seguro es utilizar InnoDB que es relacional 100% y controla las inserciones de forma que no quede nunca ningun registro huerfano. En fin no es complicado pero piensa que hay libros enteros escritos sobre el tema.
Suerte
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

RE:clave foranea

Publicado por david (1 intervención) el 07/03/2007 12:20:51
Hola siento mi tardanza pero estuve malo ingresado nada serio

muchas gracias por tu ayuda lo que hago es cuando copio la tabla auxiliar que modifico con el dbgrid meto una instruccion que me copia el valor autoincrement de la factura(codigo fac) en el codigo de factura de lineas_faccli1 y si que funciona

el problema que me surge es que cuando entro la primera vez a copiar la tabla auxiliar en la que almaceno si que funciona todo correctamente pero cuando voy a dar la segunda ejecucion(otra factura) me da un problema al copiar la tabla auxiliar (lineas_faccli) en lineas_faccli1 me pone en castellano algo asi 'multiples registro encontrados pero solo uno se esperarba' gracias por anticipado.

yo creo que sera algo del bucle con algun next o post o insert o edit pero no tengo ni idea echame un cable por favor un saludo
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