2010-09-23 4 views
1

Im obtenir une erreur Aucun mappage n'existe à partir du type d'objet System.Data.DataRowView à un type natif de fournisseur géré connu chaque fois que je clique sur mon bouton .. Voici mon code ..System.Data.DataRowView exception lors de l'insertion de ligne dans SQL Server

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 

    Dim insertCommand = <xml> 
    INSERT INTO returns(
     Department, 
     Purpose, 
     Item_details, 
     Requested_by, 
     Approved_by, 
     ReturnDate 
    ) 
    SELECT 
     Department, 
     Purpose, 
     Items_Details, 
     Requested_by, 
     Approved_by, 
     Date 
    FROM borrow 
    WHERE ID = @BorrowID; 
</xml> 

    Dim param = cmd.CreateParameter() 
    param.ParameterName = "@BorrowID" 
    param.Value = ListBox1.SelectedValue 


    cmd.CommandText = insertCommand.Value 
    cmd.Parameters.Add(param) 

    cmd.Connection = con 
    Try 
     con.Open() 
     cmd.ExecuteNonQuery() 

    Catch SqlExceptionErr As Exception 
     MsgBox(SqlExceptionErr.ToString) 


    Finally 
     con.Close() 
    End Try 

End Sub 
+0

-1 Le titre de votre question n'est pas informatif. Suggérer de le modifier à quelque chose comme "exception System.Data.DataRowView lors de l'insertion de ligne dans SQL Server". –

+0

Avez-vous vérifié la valeur de ListBox1.SelectedValue? Je suppose que la colonne emprunter.ID est un entier. ListBox1.SelectedValue est un entier? –

+0

Salut merci pour répondre ^^ et désolé la réponse tardive vient de rentrer de l'école .. fait, je l'ai déjà changé .. Oui ma colonne Borrow.ID est un nombre entier. Je n'ai pas ajouté ma colonne ID dans les retours et les tables d'emprunt car ils sont tous deux auto incrément .. Je pense que je devrais changer cette partie WHERE ID = @BorrowID à WHERE Date = @ModifiedDate afin que lorsque je transfère les lignes sélectionnées, la date Colonne dans la table des retours sera mis à jour .. Que voulez-vous dire ListBox1.SelectedValue un entier? .. vous voulez dire le membre d'affichage? .. Mon Listbox1.SelectedValue est lié à la table Emprunter et a un membre d'affichage du département. – demic0de

Répondre

0

Borrow.Id doit être lié à votre ListBox.ValueMember.

+0

Salut tnx pour m'aider .. vraiment apprécier .. j'ai terminé mon projet .. je vais faire un autre projet ct donc si j'ai un problème espère que vous pouvez m'aider .. cha ... – demic0de

Questions connexes