查询要在Oracle数据库中插入引发参数错误

在C#WPF项目中  我正在尝试使用oledbConnection和OledbTransaction将数据插入Oracle数据库的4个表中。这是代码:

    private void ValidDemandes_Btn_Click(object sender,RoutedEventArgs e)
    {
        var mess = MessageBox.Show("La validation d'un article est définitive,souhaitez-vous continuer ?",ApplicationDirectories.appName,MessageBoxButton.Yesno,MessageBoxImage.Exclamation);
        switch (mess)
        {
            case MessageBoxResult.No:
                return;
            case MessageBoxResult.Yes:
                ValidDemandes_Btn.Cursor = Cursors.Wait;

                #region Insert Into Oracle

                    #region queries
                    string cmdText_Traduction = @"INSERT INTO GCTRADUCTION (TRAD_TYPE,TRAD_CODE,TRAD_LANGUE,TRAD_LIBELLE1_TRAD)
                                  VALUES(?,?,?)";
                    string cmdText_Article = @"INSERT INTO GCARTICLE (ART_CODE,ART_SITE,ART_SITE_FAB,ART_actIF,ART_actIF_ACH,ART_UNIT_ACH,ART_UNIT_VEN,ART_UNIT_CDE_ACH,ART_UNIT_CDE,ART_UNIT_STK,ART_POIDS_VARIABLE,ART_PDS_VEN,ART_PIE_VEN,ART_CODE_TVA,ART_CODE_TAXE,ART_FAM_CPTA,ART_MARCH_SERVICE,ART_RUB1,ART_RUB2,ART_RUB3,ART_RUB4,ART_RUB5,ART_RUB6,ART_RUB7,ART_RUB8,ART_STAT1,ART_STAT2,ART_STAT3,ART_STAT4,ART_ESPECE,ART_STOCK,ART_PDS_BRUT,ART_TARE_UNIT,ART_TARE_UNIT_VTE,ART_PDS_NET,ART_PIECE_COL,ART_COLIS_PAL,ART_DESTOCK_ART,ART_EXCLU_DEB,ART_CODE_DEB,ART_DEFAUT_FOUR,ART_TOLERANCE,ART_VENTEDetaIL,ART_CODE_EMB,ART_FREINTE,ART_PR_TOLERANCE,ART_TARE_UVC,ART_MODE_DLC,ART_CALC_DLC_DLUO,ART_DLC,ART_DLUO,ART_PIECE_PDS,ART_ARRONDI,ART_actIF_APP,ART_MULTI_COND,ART_TRA_COMP1,ART_TRA_COMP2,ART_TRA_COMP3,ART_TRA_COMP4,ART_TRA_COMP5,ART_TRA_COMP6,ART_TRA_COMP7,ART_TRA_COMP8,ART_TRA_COMP9)
                                              VALUES (?,?)";

                    string cmdText_Prod = @"UPDATE GCARTICLE_PROD SET ART_FOND_PAGE = ?,ART_TEXTE1 = ?,ART_CHOIX_ETI = ?
                                            where ART_CODE = ?";

                    string cmdText_Nut = @"INSERT INTO GCART_DeclAR_NUTRITION (ADN_CODE,ADN_UNITE_MESURE)
                                          VALUES (?,?)";
                    #endregion

                    using (OleDbConnection conn = new OleDbConnection("Provider=OraOLEDB.Oracle;DATA SOURCE=VM-AKANEA:1521/V11AKANEA.DOM;PERSIST SECURITY INFO=True;USER ID=ER2;Password=elit99"))
                    {
                        OleDbCommand comm = new OleDbCommand();
                        OleDbTransaction txn = null;
                        try
                        {

                            conn.Open();
                            txn = conn.BeginTransaction();
                            comm.Connection = conn;
                            comm.Transaction = txn;

                            #region GCTRADUCTION
                        comm.CommandText = cmdText_Traduction;
                        comm.Parameters.AddWithValue("TRAD_TYPE","ARTICLE_LIB");
                        comm.Parameters.AddWithValue("TRAD_CODE",ArtCode_TxtBox.Text ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("TRAD_LANGUE","FR");
                        comm.Parameters.AddWithValue("TRAD_LIBELLE1_TRAD",ArtLib1_TxtBox.Text ?? Convert.DBNull);
                        comm.ExecuteNonQuery();
                        #endregion

                            #region ARTICLE
                        comm.CommandText = cmdText_Article;
                        comm.Parameters.AddWithValue("ART_CODE",ArtCode_TxtBox.Text ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_SITE",Site_TxtBox.Text ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_SITE_FAB",Art_Site_Fab_TxtBox.Text ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_actIF",(string)actif_Vent_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_actIF_ACH",(string)actif_Achat_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_UNIT_ACH",(string)Unit_Achat_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_UNIT_VEN",(string)Unit_Vent_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_UNIT_CDE_ACH",(string)Unit_cdeAchat_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_UNIT_CDE",(string)Unit_cdeVent_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_UNIT_STK",(string)Unit_stock_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_POIDS_VARIABLE",(string)PoidsVar_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_PDS_VEN",(string)Poidstot_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_PIE_VEN",(string)Piecetot_CB.SelectedValue ?? Convert.DBNull);
                        if (CodeTVA_CB.SelectedValue != null)
                        {
                            comm.Parameters.AddWithValue("ART_CODE_TVA",Convert.ToInt16(CodeTVA_CB.SelectedValue));
                        }
                        else
                        {
                            comm.Parameters.AddWithValue("ART_CODE_TVA",null);
                        }
                        if (Codetabletax_CB.SelectedValue != null)
                        {
                            comm.Parameters.AddWithValue("ART_CODE_TAXE",Convert.ToInt16(Codetabletax_CB.SelectedValue));
                        }
                        else
                        {
                            comm.Parameters.AddWithValue("ART_CODE_TAXE",null);
                        }
                        comm.Parameters.AddWithValue("ART_FAM_CPTA",(string)FamCompta_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_MARCH_SERVICE",(string)TypeEncaiss_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_RUB1",(string)TypProd_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_RUB2",(string)GrandFam_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_RUB3",(string)FamProd_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_RUB4",(string)CodeRecet_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_RUB5",(string)Gram_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_RUB6",(string)Regroup_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_RUB7",(string)SignQ1_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_RUB8",(string)SignQ2_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_STAT1",(string)Stat1_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_STAT2",(string)Stat2_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_STAT3",(string)Stat3_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_STAT4",(string)Stat4_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_ESPECE",(string)Espece_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_STOCK",(string)GestStock_CB.SelectedValue ?? Convert.DBNull);
                        if (!string.IsnullOrEmpty(PoidsBrutColis_TxtBox.Text))
                        {
                            comm.Parameters.AddWithValue("ART_PDS_BRUT",Convert.ToDecimal(PoidsBrutColis_TxtBox.Text));
                        }
                        else
                        {
                            comm.Parameters.AddWithValue("ART_PDS_BRUT",null);
                        }
                        if (!string.IsnullOrEmpty(TarUnitAchat_TxtBox.Text))
                        {
                            comm.Parameters.AddWithValue("ART_TARE_UNIT",Convert.ToDecimal(TarUnitAchat_TxtBox.Text));
                        }
                        else
                        {
                            comm.Parameters.AddWithValue("ART_TARE_UNIT",null);
                        }
                        if (!string.IsnullOrEmpty(TarUnitVent_TxtBox.Text))
                        {
                            comm.Parameters.AddWithValue("ART_TARE_UNIT_VTE",Convert.ToDecimal(TarUnitVent_TxtBox.Text));
                        }
                        else
                        {
                            comm.Parameters.AddWithValue("ART_TARE_UNIT_VTE",null);
                        }
                        if (!string.IsnullOrEmpty(PoidsnetColis_TxtBox.Text))
                        {
                            comm.Parameters.AddWithValue("ART_PDS_NET",Convert.ToDecimal(PoidsnetColis_TxtBox.Text));
                        }
                        else
                        {
                            comm.Parameters.AddWithValue("ART_PDS_NET",null);
                        }
                        if (!string.IsnullOrEmpty(PieceParColis_TxtBox.Text))
                        {
                            comm.Parameters.AddWithValue("ART_PIECE_COL",Convert.ToInt16(PieceParColis_TxtBox.Text));
                        }
                        else
                        {
                            comm.Parameters.AddWithValue("ART_PIECE_COL",null);
                        }
                        if (!string.IsnullOrEmpty(ColisParPal_TxtBox.Text))
                        {
                            comm.Parameters.AddWithValue("ART_COLIS_PAL",Convert.ToInt16(ColisParPal_TxtBox.Text));
                        }
                        else
                        {
                            comm.Parameters.AddWithValue("ART_COLIS_PAL",null);
                        }
                        comm.Parameters.AddWithValue("ART_DESTOCK_ART",Destock_Art_TxtBox.Text ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_EXCLU_DEB",(string)ExcluDEB_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_CODE_DEB",(string)CodeDouan_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_DEFAUT_FOUR",(string)FrabPar_CB.SelectedValue ?? Convert.DBNull);
                        if (!string.IsnullOrEmpty(Tolerance_TxtBox.Text))
                        {
                            comm.Parameters.AddWithValue("ART_TOLERANCE",Convert.ToDecimal(Tolerance_TxtBox.Text));
                        }
                        else
                        {
                            comm.Parameters.AddWithValue("ART_TOLERANCE",null);
                        }
                        comm.Parameters.AddWithValue("ART_VENTEDetaIL",(string)VentDetInter_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_CODE_EMB",(string)Emb_Cb.SelectedValue ?? Convert.DBNull);
                        if (!string.IsnullOrEmpty(TauxFreinte_TxtBox.Text))
                        {
                            comm.Parameters.AddWithValue("ART_FREINTE",Convert.ToDecimal(TauxFreinte_TxtBox.Text));
                        }
                        else
                        {
                            comm.Parameters.AddWithValue("ART_FREINTE",null);
                        }
                        if (!string.IsnullOrEmpty(TolerancePdsLiv_TxtBox.Text))
                        {
                            comm.Parameters.AddWithValue("ART_PR_TOLERANCE",Convert.ToDecimal(TolerancePdsLiv_TxtBox.Text));
                        }
                        else
                        {
                            comm.Parameters.AddWithValue("ART_PR_TOLERANCE",null);
                        }
                        if (!string.IsnullOrEmpty(TareUVC_TxtBox.Text))
                        {
                            comm.Parameters.AddWithValue("ART_TARE_UVC",Convert.ToDecimal(TareUVC_TxtBox.Text));
                        }
                        else
                        {
                            comm.Parameters.AddWithValue("ART_TARE_UVC",null);
                        }
                        comm.Parameters.AddWithValue("ART_MODE_DLC",(string)GestionDlc_CB.SelectedValue ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_CALC_DLC_DLUO",(string)ChoixDlcDluo_CB.SelectedValue ?? Convert.DBNull);
                        if (!string.IsnullOrEmpty(Dlc_TxtBox.Text))
                        {
                            comm.Parameters.AddWithValue("ART_DLC",Convert.ToDecimal(Dlc_TxtBox.Text));
                        }
                        else
                        {
                            comm.Parameters.AddWithValue("ART_DLC",null);
                        }
                        if (!string.IsnullOrEmpty(Dluo_TxtBox.Text))
                        {
                            comm.Parameters.AddWithValue("ART_DLUO",Convert.ToDecimal(Dluo_TxtBox.Text));
                        }
                        else
                        {
                            comm.Parameters.AddWithValue("ART_DLUO",null);
                        }
                        if (!string.IsnullOrEmpty(PoidsPiece_TxtBox.Text))
                        {
                            comm.Parameters.AddWithValue("ART_PIECE_PDS",Convert.ToDecimal(PoidsPiece_TxtBox.Text));
                        }
                        else
                        {
                            comm.Parameters.AddWithValue("ART_PIECE_PDS",null);
                        }
                        comm.Parameters.AddWithValue("ART_ARRONDI","N");
                        comm.Parameters.AddWithValue("ART_actIF_APP","O");
                        comm.Parameters.AddWithValue("ART_MULTI_COND","N");
                        comm.Parameters.AddWithValue("ART_TRA_COMP1","N");
                        comm.Parameters.AddWithValue("ART_TRA_COMP2","N");
                        comm.Parameters.AddWithValue("ART_TRA_COMP3","N");
                        comm.Parameters.AddWithValue("ART_TRA_COMP4","N");
                        comm.Parameters.AddWithValue("ART_TRA_COMP5","N");
                        comm.Parameters.AddWithValue("ART_TRA_COMP6","N");
                        comm.Parameters.AddWithValue("ART_TRA_COMP7","N");
                        comm.Parameters.AddWithValue("ART_TRA_COMP8","N");
                        comm.Parameters.AddWithValue("ART_TRA_COMP9","N");
                        comm.ExecuteNonQuery();
                        #endregion

                            #region ARTICLE_PROD
                        comm.CommandText = cmdText_Prod;
                        comm.Parameters.AddWithValue("ART_FOND_PAGE",FondPage_CB.Text ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_TEXTE1",LibEtiquette_TxtBox.Text ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ART_CHOIX_ETI","S");
                        comm.Parameters.AddWithValue("ART_CODE",ArtCode_TxtBox.Text ?? Convert.DBNull);
                        comm.ExecuteNonQuery();
                        #endregion

                            #region VALnut
                        comm.CommandText = cmdText_Nut;
                        comm.Parameters.AddWithValue("ADN_CODE",ArtCode_TxtBox.Text ?? Convert.DBNull);
                        comm.Parameters.AddWithValue("ADN_UNITE_MESURE","G");
                        comm.ExecuteNonQuery();
                        #endregion

                        txn.Commit();
                        }
                        catch (Exception ex)
                        {

                            var stList = ex.StackTrace.ToString().Split('\\');
                            Messages.ErrorMessages($"ERREUR : \n{ex.Message}\n\nException at : \n{stList[stList.Count() - 1]}");
                            txn.Rollback();
                        }
                    }

                #endregion                   

                ValidDemandes_Btn.Cursor = Cursors.Arrow;

                break;
        }
    }

这段代码没有显示任何错误,但是当我运行它时,它抛出参数error:

查询要在Oracle数据库中插入引发参数错误

它说:parameter [x]没有默认值... 最后一行显示:命令参数[64]无效。

但是,如果我分别运行每个查询,它将起作用。

有人可以帮我吗?

h0712027 回答:查询要在Oracle数据库中插入引发参数错误

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3014313.html

大家都在问