Inserciones...

edited septiembre 2007 in Principiantes
Saludos,

Tengo una tabla en oracle asi:

CREATE TABLE CELL
(
CELL_ID NUMBER(10) NOT NULL,
RAC NUMBER(4),
BSC NUMBER(8),
LAC NUMBER(6),
SITE VARCHAR2(20 BYTE),
SITE_NOMBRE VARCHAR2(20 BYTE),
ID NUMBER
)

Donde la clave primaria es cell_id (es un identificador de la base de datos)
el id pedi que lo crearan para que funcionara kumbia.
Que sucede cuando intento agregar un cell_id repetido me sale el mensaje que lo agrego pero no lo agrega... como puedo hacer para cambiar ese mensaje o para saber que sucede yo en el el modelo pretendia validar eso con un metodo before_validation_on_create.
Solo pasa por alli cuando se agrega un cell_id que no este en la base de datos y observando el debug hace un select buscando ese cell_id.

Y un detalle que me sucedio anterios y al parecer ese error esta tambien en esta nueva version de kumbia es cuando retornas en el metodo befor... se tiene que retornar cancel no error.
Disculpen la novatada....

Muachas Gracias,

Oz

Comentarios

  • Kumbia identifica como la llave primaria a id no a cell_id, eso puede estar confundiendo al framework.

    Saludos
  • edited 9:56
    Saludos,

    Ya arregle ese problema, usando el uniques para cell_id ahora quisiera que me pudieran dar una informacion... esa tabla posee un campo que es foranea a otra... Ahora cuando intento modificar el registro me impide modificar ese campo, es normal? como puedo dejar que lo modifiquen?
    Muchas Gracias por la ayuda que me puedan dar y espero haberme explicado excelente...



    Oz
  • Este campo no deberia ser modificado ya que representa univocamente un registro en la tabla. Puedes usar llaves sustitutas si necesitas modificarlas

    Saludos
  • edited 9:56
    Gracias men, pero de verdad no entendi, si me puedes explicar mejor de pana...
    Este campo no deberia ser modificado ya que representa univocamente un registro en la tabla. Puedes usar llaves sustitutas si necesitas modificarlas

    Saludos


    Oz
  • edited 9:56
    Muy buenas tardes a todos,

    Escribo por dos motivos, uno es si alguien me puede dar mas informacion de como poder hacer para que las claves foraneas se puedan modificar.

    Y lo otro es un problema que estoy teniendo con los combo estaticos a la hora de generar reportes... Este error me lo da kumbia como una DBExpception al ejecutar un select y si el select tiene un error debido que falta el campo tipo en el mismo, es decir, cuando arma el select no lo coloca. La razon por la cual digo que es ese campo es por que cuando comento su codigo me genera el codigo. Hay alguna manera d earreglarlo que no sea sacar el campo del reporte.

    Gracias de ante mano.

    Oz
  • El campo id es la llave primaria en la tabla.
    Coloca otro campo como llave unica si necesitas modificar la llave primaria.

    Que excepcion te esta generando?

    Gracias
    Gracias men, pero de verdad no entendi, si me puedes explicar mejor de pana...
    Este campo no deberia ser modificado ya que representa univocamente un registro en la tabla. Puedes usar llaves sustitutas si necesitas modificarlas

    Saludos


    Oz
  • edited 9:56
    Buenos dias,

    Leyendo esto junto a lo anterior creo que no me di a explicar bien.
    Tengo dos tablas ejemplo empleados y empresas. Un empleado trabaja en una empre y una empresa tiene muchos empleados. Cuando intento modificar a un empleado el campo donde esta el nombre d ela empresa no me deja modificarlo, es decir cambiar a un empleado a otra empresa.
    El campo id es la llave primaria en la tabla.
    Coloca otro campo como llave unica si necesitas modificar la llave primaria.

    Que excepcion te esta generando?

    Gracias
    Gracias men, pero de verdad no entendi, si me puedes explicar mejor de pana...
    Este campo no deberia ser modificado ya que representa univocamente un registro en la tabla. Puedes usar llaves sustitutas si necesitas modificarlas

    Saludos


    Oz

    Respecto a la bdException ya te la pego:

    En el controlador(class CellController extends StandardForm)
    lo que agreguer fue:

    $this->set_combo_static('rural',array(array('FALSO','FALSO'),array('VERDADERO','VERDADERO')));
    $this->set_combo_static('integrada',array(array('FALSO','FALSO'),array('VERDADERO','VERDADERO')));

    Y cuando selecciono visualizar que deberia traerme todo los campos sale:

    KumbiaDBException: > al ejecutar 'select cell.cell_id,cell.rac,cell.bsc,cell.lac,cell.site,cell.site_nombre,cell.orientacion,cell.apertura,cell.canal,cell.ma_list,cell.maio_offset,cell.hsn,cell.ncc,cell.bcc,cell.x_coord,cell.y_coord,cell.power,cell.ant_type,cell.ant_gain,cell.feeder_loss,cell.ant_height_from_ground,cell.tilt,cell.frecuencia,cell.hopping,cell.no_trx, as rural, as integrada,cell.capas,sub_zona.nombre as sub_zona_id, cell.sub_zona_id as pk_sub_zona_id,cell.direccion from cell,sub_zona Where 1 = 1 and sub_zona.id = cell.sub_zona_id Order By 1 asc'
    En el archivo C:\Zend\Apache2\htdocs\SIE\forms\db\adapters\oracle.php en la línea: 142

    #0 C:\Zend\Apache2\htdocs\SIE\forms\generator\browse.php(249): db->query('select cell.cel...')
    #1 C:\Zend\Apache2\htdocs\SIE\forms\generator\standard.build.php(268): formsBrowse(Array)
    #2 C:\Zend\Apache2\htdocs\SIE\forms\generator\main.php(643): Standard_Generator::build_form_standard(Array)
    #3 C:\Zend\Apache2\htdocs\SIE\forms\controller\standard_form_controller.php(822): Generator::build_form(Array, true)
    #4 [internal function]: StandardForm->index('')
    #5 C:\Zend\Apache2\htdocs\SIE\kumbia.php(201): call_user_func_array(Array, Array)
    #6 C:\Zend\Apache2\htdocs\SIE\public\index.php(76): Kumbia::main()
    #7 {main}

    Session Dump

    NULL


    Se que el erro lo causa el as rural y por el as integrada que no sale lo que necesitan para funcionar bien el querry. Esto es lo que no me permie usar combo estaticos.

    Gracias por su ayuda,

    Oz
Sign In or Register to comment.