简体   繁体   中英

ORA-01036: illegal variable name/number C# (SqlDataSource) Oracle 11g

I am facing problem in updating the form view values using sqldatasource bind with Oracle database.

My Select and Insert events are working properly, all columns and parameters are correct.

But when i hit on update button below error occures:

"ORA-01036: illegal variable name/number"

Here is my Update Command using in sqldatasource (binded with 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

Update

My problem is resolved, as I was not using the primary key to match the where condition, when I changed where condition with primary key it starts working.

Is it compulsory to give where condition with primary key while using sqldatasource (or with oracle) because generally we can put any where condition to update record while doing manually.

Yes, I think it is mandatory to use the primary key in order to fire update query using SqlDataSource t doesn't if you are using SqlDataSource with Oracle, SQL Server or any other data source.

The reason could be that SqlDataSource only allows to edit one record at a time so the changes will reflect only one record and not more then one.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM