Yii Framework Forum: Consultas Parametrizadas - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Consultas Parametrizadas consultas dinamicas con oracle no funcionan Rate Topic: -----

#1 User is offline   Vinix 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 08-August 13

Posted 10 September 2013 - 03:51 AM

Buenas noches a todos les tengo una duda (en realidad buenas madrugas).

Antes de plantearla les dejo la descripción de mi sistema:

S.O: winxp
DBMS: oracle 11gR2 y MySQL 5.5.8
PHP: 5.3.5
XAMPP: 1.7.4
Yii framework: 1.1.12

He buscado por días la solución al problema sin encontrarla, les describo.

Tengo dos modelos detalle y detalle con los siguientes datos:

Modelo venta: codigo, codusuario, codcliente y fecha.
Modelo detalle: codigo, codventa, codproducto, cantidad

estoy utilizando la extención MultiModelForm que se utiliza para llenar formularios de tipo maestro-detalle e hice una prueba con MySql y todo funciona correctamente.

El problema es cuando lo intento realizar con Oracle 11gR2 XE. Estoy intentando realizar una consulta dinámica
pero me muestra el siguiente error:
CDbCommand falló al ejecutar la sentencia SQL: SQLSTATE[HY000]: General error: 1722 OCIStmtExecute: ORA-01722: invalid number
(ext\pdo_oci\oci_statement.c:146). The SQL statement executed was: SELECT * FROM "DETALLEVENTA" "t" WHERE CODVENTA=:codven 


en esta parte del formulario:
$this->widget('ext.multimodelform.MultiModelForm',
        array(
	        'id'=>'id_detalleventa',
		'formConfig'=>$detalleFormConfig,
		'model'=>$detalle,
		'validatedItems'=>$validaDetalle,
		'data'=>$detalle->findAll('CODVENTA=:codven',array(':codven',$model->CODIGO)),
	));

Especificamente en esta:
'data'=>$detalle->findAll('CODVENTA=:codven',array(':codven',$model->CODIGO))

Ya revice los tipos de datos en DBMS y en ambos modelos todos estan asi:
public function rules() // reglas de VENTA
{
	return array(
		array('CODUSUARIO, CODESTADO, CODCLIENTE', 'numerical', 'integerOnly'=>true),
		array('FACTURA', 'length', 'max'=>50),
		array('FECHA','safe'),
		array('CODIGO, CODUSUARIO, CODESTADO, CODCLIENTE, FECHA, FACTURA', 'safe', 'on'=>'search'),
	);
}

public function rules() // Reglas de DETALLE
{
	return array(
		array('CODVENTA, CODPRODUCTO', 'required'),
		array('CODVENTA, CODPRODUCTO, CANTIDAD', 'numerical', 'integerOnly'=>true),
		array('PRECIO', 'numerical'),
		array('CODIGO, CODVENTA, CODPRODUCTO, CANTIDAD, PRECIO', 'safe', 'on'=>'search'),
	);
}


Gracias por las respuestas.
0

#2 User is offline   Vinix 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 08-August 13

Posted 10 September 2013 - 11:31 PM

Que tal a todos, ya este resuelto mi problema, era un pequeño error en la linea siguiente
'data'=>$detalle->findAll('CODVENTA=:codven',array(':codven',$model->CODIGO))


El problema es en la asignación de los parametros del array:
array(':codven',$model->CODIGO)


y debe de estar como así:
array(':codven'=>$model->CODIGO)


Gracias y espero que a alguien le sirva
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users