2012-09-08 11 views
5

Tengo problemas para actualizar los valores de la vista de formulario mediante el enlace sqldatasource con la base de datos Oracle.ORA-01036: nombre/número de variable ilegal C# (SqlDataSource) Oracle 11g

Mis eventos Seleccionar e Insertar están funcionando correctamente, todas las columnas y parámetros son correctos.

Pero cuando golpeo el botón de actualización debajo de error occures:

"ORA-01036: ilegal variable de nombre/número"

Aquí está usando mi comando de actualización en SqlDataSource (binded con Oracle):

UPDATE REPORT_PINK 
SET DEMOG_HEIGHT = :DEMOG_HEIGHT 
     , DEMOG_WEIGHT = :DEMOG_WEIGHT 
     , DEMOG_TX_NO = :DEMOG_TX_NO 
     , DEMOG_TX_PLACE = :DEMOG_TX_PLACE 
     , DEMOG_TX_DATE = :DEMOG_TX_DATE 
     , DEMOG_TX_TYPE = :DEMOG_TX_TYPE 
     , DEMOG_RELATIONSHIP = :DEMOG_RELATIONSHIP 
     , MED_HIS_CAUSE = :MED_HIS_CAUSE 
     , MED_HIS_ALLERGY = :MED_HIS_ALLERGY 
     , MED_HIS_BIOPSY_DATE = :MED_HIS_BIOPSY_DATE 
     , MED_HIS_DIALYSIS = :MED_HIS_DIALYSIS 
     , MED_HIS_DIALYSIS_DATE = :MED_HIS_DIALYSIS_DATE 
     , MED_HIS_PREV_TX_FIRST = :MED_HIS_PREV_TX_FIRST 
     , MED_HIS_PREV_TX_DATE_FIRST = :MED_HIS_PREV_TX_DATE_FIRST 
     , MED_HIS_PREV_TX_SECOND = :MED_HIS_PREV_TX_SECOND 
     , MED_HIS_PREV_TX_DATE_SECOND = :MED_HIS_PREV_TX_DATE_SECOND 
     , COMOR_HEART = :COMOR_HEART 
     , COMOR_LIVER = :COMOR_LIVER 
     , COMOR_HEPATITIS_B = :COMOR_HEPATITIS_B 
     , COMOR_HEPATITIS_C = :COMOR_HEPATITIS_C 
     , COMOR_DIABETES = :COMOR_DIABETES 
     , COMOR_TB = :COMOR_TB 
     , COMOR_PEPTIC = :COMOR_PEPTIC 
     , COMOR_CANCER = :COMOR_CANCER 
     , IMM_CDC_DATE = :IMM_CDC_DATE 
     , IMM_CDC_NORMAL_T = :IMM_CDC_NORMAL_T 
     , IMM_CDC_NORMAL_B = :IMM_CDC_NORMAL_B 
     , IMM_CDC_DTT_B = :IMM_CDC_DTT_B 
     , IMM_CDC_DTT_T = :IMM_CDC_DTT_T 
     , IMM_CDC_AHG_B = :IMM_CDC_AHG_B 
     , IMM_CDC_AHG_T = :IMM_CDC_AHG_T 
     , IMM_FLOW_DATE = :IMM_FLOW_DATE 
     , IMM_FLOW_IGGT_PAT = :IMM_FLOW_IGGT_PAT 
     , IMM_FLOW_IGGT_PRO = :IMM_FLOW_IGGT_PRO 
     , IMM_FLOW_IGGB_PAT = :IMM_FLOW_IGGB_PAT 
     , IMM_FLOW_IGGB_PRO = :IMM_FLOW_IGGB_PRO 
     , IMM_FLOW_IGMT_PAT = :IMM_FLOW_IGMT_PAT 
     , IMM_FLOW_IGMB_PAT = :IMM_FLOW_IGMB_PAT 
     , IMM_ANTI_HLA_PRA = :IMM_ANTI_HLA_PRA 
     , IMM_ANTI_HLA_PRA_DATE = :IMM_ANTI_HLA_PRA_DATE 
     , TC_REMUZZI_GLOMERULI_L = :TC_REMUZZI_GLOMERULI_L 
     , TC_REMUZZI_TUBULE_L = :TC_REMUZZI_TUBULE_L 
     , TC_REMUZZI_INTERSTITM_L = :TC_REMUZZI_INTERSTITM_L 
     , TC_REMUZZI_ARTERIS_L = :TC_REMUZZI_ARTERIS_L 
     , TC_REMUZZI_GLOMERULI_R = :TC_REMUZZI_GLOMERULI_R 
     , TC_REMUZZI_TUBULE_R = :TC_REMUZZI_TUBULE_R 
     , TC_REMUZZI_INTERSTITM_R = :TC_REMUZZI_INTERSTITM_R 
     , TC_REMUZZI_ARTERIS_R = :TC_REMUZZI_ARTERIS_R 
     , TC_ANAST_ARTERY = :TC_ANAST_ARTERY 
     , TC_ANAST_VEIN = :TC_ANAST_VEIN 
     , TC_ANAST_URETER = :TC_ANAST_URETER 
     , TC_DONATE_FIRST_ISCHEMIC = :TC_DONATE_FIRST_ISCHEMIC 
     , TC_DONATE_SECOND_ISCHEMIC = :TC_DONATE_SECOND_ISCHEMIC 
     , TC_DONATE_COLD_ISCHEMIC = :TC_DONATE_COLD_ISCHEMIC 
     , TC_DONATE_PERFUSION = :TC_DONATE_PERFUSION 
     , DONOR_NAME = :DONOR_NAME 
     , DONOR_NRIC = :DONOR_NRIC 
     , DONOR_GENDER = :DONOR_GENDER 
     , DONOR_AGE = :DONOR_AGE 
     , DONOR_DEATH = :DONOR_DEATH 
     , DONOR_INOTROPES = :DONOR_INOTROPES 
     , DONOR_ISHYPER = :DONOR_ISHYPER 
     , DONOR_HYPER = :DONOR_HYPER 
     , DONOR_ISDIABETES = :DONOR_ISDIABETES 
     , DONOR_DIABETES = :DONOR_DIABETES 
     , DONOR_ISOTHERS = :DONOR_ISOTHERS 
     , DONOR_OTHERS = :DONOR_OTHERS 
     , DONOR_UREA = :DONOR_UREA 
     , DONOR_CREAT = :DONOR_CREAT 
     , DONOR_HB = :DONOR_HB 
     , DONOR_PT = :DONOR_PT 
     , DONOR_PTT = :DONOR_PTT 
     , VIRO_HBSAG_RECP = :VIRO_HBSAG_RECP 
     , VIRO_HBSAG_RECP_DATE = :VIRO_HBSAG_RECP_DATE 
     , VIRO_ANTI_HB_RECP = :VIRO_ANTI_HB_RECP 
     , VIRO_ANTI_HB_RECP_DATE = :VIRO_ANTI_HB_RECP_DATE 
     , VIRO_ANTI_HBC_RECP = :VIRO_ANTI_HBC_RECP 
     , VIRO_ANTI_HBC_RECP_DATE = :VIRO_ANTI_HBC_RECP_DATE 
     , VIRO_HBV_RECP = :VIRO_HBV_RECP 
     , VIRO_HBV_RECP_DATE = :VIRO_HBV_RECP_DATE 
     , VIRO_ANTI_HCV_RECP = :VIRO_ANTI_HCV_RECP 
     , VIRO_ANTI_HCV_RECP_DATE = :VIRO_ANTI_HCV_RECP_DATE 
     , VIRO_HIV_AG_RECP = :VIRO_HIV_AG_RECP 
     , VIRO_HIV_AG_RECP_DATE = :VIRO_HIV_AG_RECP_DATE 
     , VIRO_HIV_PCR_RECP = :VIRO_HIV_PCR_RECP 
     , VIRO_HIV_PCR_RECP_DATE = :VIRO_HIV_PCR_RECP_DATE 
     , VIRO_CMV_RECP = :VIRO_CMV_RECP 
     , VIRO_CMV_RECP_DATE = :VIRO_CMV_RECP_DATE 
     , VIRO_VDRL_RECP = :VIRO_VDRL_RECP 
     , VIRO_VDRL_RECP_DATE = :VIRO_VDRL_RECP_DATE 
     , VIRO_ABO_RECP = :VIRO_ABO_RECP 
     , VIRO_ABO_RECP_DATE = :VIRO_ABO_RECP_DATE 
     , VIRO_HCV_PCR_RECP = :VIRO_HCV_PCR_RECP 
     , VIRO_HCV_PCR_RECP_DATE = :VIRO_HCV_PCR_RECP_DATE 
     , VIRO_HBSAG_DONOR = :VIRO_HBSAG_DONOR 
     , VIRO_HBSAG_DONOR_DATE = :VIRO_HBSAG_DONOR_DATE 
     , VIRO_ANTI_HB_DONOR = :VIRO_ANTI_HB_DONOR 
     , VIRO_ANTI_HB_DONOR_DATE = :VIRO_ANTI_HB_DONOR_DATE 
     , VIRO_ANTI_HBC_DONOR = :VIRO_ANTI_HBC_DONOR 
     , VIRO_ANTI_HBC_DONOR_DATE = :VIRO_ANTI_HBC_DONOR_DATE 
     , VIRO_HBV_DONOR = :VIRO_HBV_DONOR 
     , VIRO_HBV_DONOR_DATE = :VIRO_HBV_DONOR_DATE 
     , VIRO_ANTI_HCV_DONOR = :VIRO_ANTI_HCV_DONOR 
     , VIRO_ANTI_HCV_DONOR_DATE = :VIRO_ANTI_HCV_DONOR_DATE 
     , VIRO_HCV_PCR_DONOR = :VIRO_HCV_PCR_DONOR 
     , VIRO_HCV_PCR_DONOR_DATE = :VIRO_HCV_PCR_DONOR_DATE 
     , VIRO_HIV_AG_DONOR = :VIRO_HIV_AG_DONOR 
     , VIRO_HIV_AG_DONOR_DATE = :VIRO_HIV_AG_DONOR_DATE 
     , VIRO_HIV_PCR_DONOR = :VIRO_HIV_PCR_DONOR 
     , VIRO_HIV_PCR_DONOR_DATE = :VIRO_HIV_PCR_DONOR_DATE 
     , VIRO_CMV_DONOR = :VIRO_CMV_DONOR 
     , VIRO_CMV_DONOR_DATE = :VIRO_CMV_DONOR_DATE 
     , VIRO_VDRL_DONOR = :VIRO_VDRL_DONOR 
     , VIRO_VDRL_DONOR_DATE = :VIRO_VDRL_DONOR_DATE 
     , VIRO_ABO_DONOR = :VIRO_ABO_DONOR 
     , VIRO_ABO_DONOR_DATE = :VIRO_ABO_DONOR_DATE 
     , HLA_A1_RECP = :HLA_A1_RECP 
     , HLA_A2_RECP = :HLA_A2_RECP 
     , HLA_B1_RECP = :HLA_B1_RECP 
     , HLA_B2_RECP = :HLA_B2_RECP 
     , HLA_DR1_RECP = :HLA_DR1_RECP 
     , HLA_DR2_RECP = :HLA_DR2_RECP 
     , HLA_ANTITITRE_RECP = :HLA_ANTITITRE_RECP 
     , HLA_A1_DONOR = :HLA_A1_DONOR 
     , HLA_A2_DONOR = :HLA_A2_DONOR 
     , HLA_B1_DONOR = :HLA_B1_DONOR 
     , HLA_B2_DONOR = :HLA_B2_DONOR 
     , HLA_DR1_DONOR = :HLA_DR1_DONOR 
     , HLA_DR2_DONOR = :HLA_DR2_DONOR 
     , HLA_ANTITITRE_DONOR = :HLA_ANTITITRE_DONOR 
WHERE PAT_ID = :PAT_ID 

sé que esto es muy grande, pero consulta por favor me ayudan a sus muy urgente.

Gracias de antemano.


Mi problema se resuelve, ya que no estaba usando la clave principal para que coincida con la condición de que, cuando cambié donde la condición con la clave principal que empiece a funcionar.

Por favor, ayúdenme a saber si es obligatorio indicar la condición con clave principal mientras se usa sqldatasource (o con oracle) porque generalmente podemos poner cualquier condición para actualizar el registro mientras lo hacemos manualmente.

Confirme.


+0

Intentaría eliminar la mayoría de los parámetros y agregarlos uno por uno hasta que vuelva a aparecer el error para descubrir la causa exacta. –

Respuesta

5

Sí, creo que es obligatorio el uso de la clave principal con el fin de disparar consulta de actualización utilizando SqlDataSource T no si está utilizando SqlDataSource con Oracle, SQL Server o cualquier otra fuente de datos.

El motivo podría ser que SqlDataSource solo permite editar un registro a la vez, por lo que los cambios reflejarán solo un registro y no más de uno.

Cuestiones relacionadas