Pb sur Update : System.Data.OleDb.OleDbException: Aucune valeur donnée pour un o
bdl20042000
Messages postés63Date d'inscriptionmercredi 18 août 2004StatutMembreDernière intervention19 mai 2009
-
6 sept. 2007 à 11:41
bdl20042000
Messages postés63Date d'inscriptionmercredi 18 août 2004StatutMembreDernière intervention19 mai 2009
-
9 mars 2009 à 15:40
Bonjour,
je débute en .NET 2.0.
je suis sous Windows XP + SP2 et VS 2005 Pro +SP1.
dans une programme, j'ai :
Try
Dim myDataAdapter As New OleDbDataAdapter
Dim MyDataSet As New DataSet
cn.Open() myDataAdapter New OleDbDataAdapter("SELECT * FROM FACTURE WHERE [id-facture] " + id.ToString, cn)
myDataAdapter.Fill(MyDataSet, "Factures")
With MyDataSet.Tables("Factures")
.Rows(0).Item("numero") = tbNumero.Text
End With
'Pour modifier les valeurs changées dans le DataAdapter
myCommandBuilder = New OleDbCommandBuilder(myDataAdapter)
myDataAdapter.UpdateCommand = myCommandBuilder.GetUpdateCommand()
'Mise à jour
myDataAdapter.Update(MyDataSet, "Factures")
cn.Close()
Call Rafraichissement_Donnees()
tbNumero.Focus()
Catch er As Exception
Clipboard.SetText(er.ToString)
MessageBox.Show("Une erreur est survenue pendant la mise à jour." & Chr(13) & Chr(10) & _
"L'opération a échoué! : " & er.ToString, "Echec", MessageBoxButtons.OK, MessageBoxIcon.Error)
cn.Close()
End Try
sur myDataAdapter.Update(MyDataSet, "Factures"), j'ai le message d'erreur :
System.Data.OleDb.OleDbException: Aucune valeur donnée pour un ou plusieurs des paramètres requis.
à System.Data.Common.DbDataAdapter.UpdatedRowStatusErrors(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)
à System.Data.Common.DbDataAdapter.UpdatedRowStatus(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)
à System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping)
à System.Data.Common.DbDataAdapter.UpdateFromDataTable(DataTable dataTable, DataTableMapping tableMapping)
à System.Data.Common.DbDataAdapter.Update(DataSet dataSet, String srcTable)
id étant la clé primaire de la table de la base Access 2003
tous les champs, sauf id, peuvent avoir la valeur Null
Les données sont affichés dans des textbox, je fais des modifications et je veux enregistrer ses modifications dans la base.
Où est l'erreur ?
Merci de l'aide que vous pourriez m'apporter.
A voir également:
Aucune valeur donnée pour un ou plusieurs des paramètres requis
bdl20042000
Messages postés63Date d'inscriptionmercredi 18 août 2004StatutMembreDernière intervention19 mai 2009 7 sept. 2007 à 10:31
J'ai contourné le problème en faisant d'une autre façon, comme ce n'est que la modification d'un seul enregistrement :
Dim sql As String sql "UPDATE facture SET secretaire " + CType(cbSecretaire.SelectedValue, String) + _
", ingenieur = " + CType(cbIngenieur.SelectedValue, String) + _ ", numero '" + tbNumero.Text + "', libelle '" + tbLibelle.Text + _
"', datefact = #" + Format(CType(dtDate.Text, Date), "M/dd/yyyy") + "#" + _ ", debit " + CType(IIf(tbDebit.Text "", 0, tbDebit.Text), String) + _ ", credit " + CType(IIf(tbCredit.Text "", 0, tbCredit.Text), String) + _ ", annee " + tbAnnee.Text + ", mois " + cbMois.Text + _
" WHERE [id-facture] = " + CType(id, String)
Dim cmd As New OleDbCommand(sql, cn)
Try
cn.Open()
cmd.ExecuteNonQuery()
Catch er As Exception
MessageBox.Show("Une erreur est survenue pendant la mise à jour." & Chr(13) & Chr(10) & _
"L'opération a échoué! : " & er.ToString, "Echec", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
cn.Close()
End Try
m_moraina
Messages postés1Date d'inscriptionmercredi 16 mars 2005StatutMembreDernière intervention 6 mars 2009 6 mars 2009 à 15:43
Bonjour,
Moi aussi j'ai un problème de requete SQL,
voici mon code:
Dim c As New OleDbConnection("Provider=microsoft.jet.oledb.4.0; data source=\...\base.mdb;")
Try
c.Open() 'str cmd New OleDbCommand("DELETE FROM employe where matricule_employe =" + txtMatricule.Text, c)
i = cmd.ExecuteNonQuery()
MessageBox.Show("Champ effacé" & i)
c.Close()
Catch ex As OleDbException
MessageBox.Show(ex.Message)
End Try
J'arrive pas à supprimer l'enregistremnet pourtant il teste le matricule s'il ya une incompatibilité au niveau du type
mais si j'ai le bon matricule à supprimer il affiche " Aucune valeur donnée pour un ou plusieur des paramètres requis"
bdl20042000
Messages postés63Date d'inscriptionmercredi 18 août 2004StatutMembreDernière intervention19 mai 2009 9 mars 2009 à 15:40
Bonjour,
vous êtes sûr qu'il teste bien le type ?Car moi j'aurai mis : cmd New OleDbCommand("DELETE FROM employe where matricule_employe'" + txtMatricule.Text + "'", c)
si matricule_employe est une chaine de caractère.