2012-09-08 31 views
5

Oracleデータベースでsqldatasource bindを使用してフォーム・ビューの値を更新する際に問題があります。ORA-01036:無効な変数名/番号C#(SqlDataSource)Oracle 11g

My SelectイベントとInsertイベントが正常に動作しています。すべての列とパラメータが正しいです。

しかし、私はエラー下の更新ボタンをヒットoccures:

"ORA-01036を:不正な変数名/番号"

ここでは(Oracleとバインドさ)SqlDataSourceコントロールに使用して、私の更新コマンドであります

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 

私は、これは非常に大きなクエリです知っているが、その非常に緊急に私を助けてください。

ありがとうございます。


私はそれが動作を開始し、主キーでWHERE条件を変更したとき、私は、WHERE条件に一致するように、主キーを使用していなかったとして、私の問題が解決されます。

私が知って助けてくださいSqlDataSourceコントロール(またはOracleで)を使用しながら、主キーでWHERE条件を与えることが義務付けられて手動で行う一方、条件がレコードを更新する場所を一般的に我々は、いずれかを置くことができるので。

ご確認ください。


+0

私は、大部分のパラメータを削除し、エラーが再び発生して正確な原因を突き止めるまで1つずつ追加しようとします。 –

答えて

5

はい、私はSqlDataSourceコントロールtを使用して更新クエリを発射するために、主キーを使用することが必須だと思いますが、オラクル、SQL Serverやその他のデータソースとSqlDataSourceコントロールを使用しているではない場合はありません。

SqlDataSourceは一度に1つのレコードのみを編集できるため、変更には1つのレコードしか反映されず、それ以降は反映されないことがあります。

関連する問題