1. #1

    Registered
    03/02/04
    Location
    Hever
    Posts
    916
    iTrader
    47 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/4

    Methode wordt niet gevonden in ASP

    Voor school ben ik bezig met in project in ASP. We moeten werken met een database zodat je via een gridview kan editen en deleten enz. Daarbij maken we gebruik van de 3 lagen structuur met een DAL en BLL.

    Nu had ik eerst mijn project gemaakt zonder OptimisticConcurrency maar dit moet voor de opdracht en nu probeer ik het dus aan te passen. Momenteel heb ik mij delete kunnen aanpassen maar bij het editen zegt hij dat hij hetvolgende:
    ObjectDataSource AlleArbeiders kon geen niet-generieke methode UpdateArbeider vinden met parameters: magazijn_nr, naam, voornaam, leeftijd, contractverval, werkdagen, original_arbeider_nr, original_magazijn_nr, original_naam, original_voornaam, original_leeftijd, original_contractverval, original_werkdagen.

    En dit is mijn code voor die methode (in mijn ArbeidersBLL)

    Code:
    <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Update, True)> _
      Public Function UpdateArbeider(ByVal arbeider_nr As Integer, _
                                     ByVal magazijn_nr As Integer, _
                                     ByVal naam As String, _
                                     ByVal voornaam As String, _
                                     ByVal leeftijd As Integer, _
                                     ByVal contractverval As Nullable(Of Date), _
                                     ByVal werkdagen As Nullable(Of Integer), _
                                        ByVal original_arbeider_nr As Integer, _
                                        ByVal original_magazijn_nr As Integer, _
                                        ByVal original_naam As String, _
                                        ByVal original_voornaam As String, _
                                        ByVal original_leeftijd As Integer, _
                                        ByVal original_contractverval As Nullable(Of Date), _
                                        ByVal original_werkdagen As Nullable(Of Integer)) As Boolean
        Dim arbeiders As Fabriekbeheer.tbl_arbeiderDataTable = Adapter.GetArbeiderByNr(arbeider_nr)
    
        If arbeiders.Count = 0 Then
          ' no matching record found, return false
          Return False
        End If
    
        Dim arbeider As Fabriekbeheer.tbl_arbeiderRow = arbeiders(0)
    
        AssignAllArbeiderValues( _
        arbeider, original_magazijn_nr, original_naam, original_voornaam, _
        original_leeftijd, original_contractverval, original_werkdagen)
    
        arbeider.AcceptChanges()
    
        AssignAllArbeiderValues( _
        arbeider, magazijn_nr, naam, voornaam, leeftijd, contractverval, werkdagen)
    
    
        ' Update the product record
        Dim rowsAffected As Integer = Adapter.Update(arbeider)
    
        ' Return true if precisely one row was updated, otherwise false
        Return rowsAffected = 1
      End Function
    zit mij hier al hele tijd op blind te staren en zou nochtans simpel moeten op te lossen zijn. Op mijn pagina met gridview had ik bij het begin van mijn project OldValuesParametersForm op {0} gezet maar die heb ik inmiddels veranderd naar original_{0} en ConflictDetection staat op CompareAllValues.
    no votes  

  2. #2
    pietje666's Avatar
    Registered
    18/12/07
    Location
    Wijnegem
    Posts
    1,158
    iTrader
    3 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/5
    kga het nu ni allemaal nazien en natellen, maar geeft gij bij aanroep evenveel parameters mee? en allemaal van het juiste type?
    no votes  

  3. #3

    Registered
    03/02/04
    Location
    Hever
    Posts
    916
    iTrader
    47 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/4
    Ik denk het wel, ben nu nog eens mijn andere BLLs aant omvormen naar OptimisticConcurrency om te zien of het daar mss lukt. Is mij wel nog opgevallen dat bij die
    Adapter.getArbeiders(arbeider_nr)
    moet
    Adapter.getArbeiders(original_arbeider_nr)
    zijn

    maar dit lost het probleem nog niet op ..
    no votes  

  4. #4
    Parnakra's Avatar
    Registered
    15/04/04
    Location
    Izegem
    Posts
    6,095
    iTrader
    1 (100%)
    Mentioned
    0 Post(s)
    Uit je foutmelding blijkt dat je de methode oproept met een parameter te weinig (de eerste, arbeider_nr).

    Trouwens, doe jezelf een plezier en werk in het Engels (en in C#). Zo wordt googlen op foutmeldingen heel wat eenvoudiger.
    no votes  

  5. #5

    Registered
    03/02/04
    Location
    Hever
    Posts
    916
    iTrader
    47 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/4
    De opdracht is in ASP dus ik kan moeilijk even in C# gaan werken (dat moeten we wel voor een andere opdracht). Nu, de methode die ik hier heb gepost bevat toch arbeider_nr? verdwijnt die niet gewoon in de foutmelding omdat die al als DataKey op mijn GridView staat of iets met die original_{0}?
    no votes  

  6. #6
    Cheshire Cat's Avatar
    Registered
    21/08/02
    Location
    .
    Posts
    1,074
    iTrader
    2 (100%)
    Mentioned
    0 Post(s)
    Quote Originally Posted by nck2040 View Post
    This quote is hidden because you are ignoring this member. Show
    De opdracht is in ASP dus ik kan moeilijk even in C# gaan werken...
    Ge kunt even gemakkelijk in C#.NET werken als dat ge nu in VB.NET werkt, hoor. De bovenstaande code is namelijk geen ASP.NET code.
    no votes  

  7. #7

    Registered
    03/02/04
    Location
    Hever
    Posts
    916
    iTrader
    47 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/4
    Ja swaar, kheb het gewoon even verkeerd verwoord , maar opdracht is dus in VB... Ik denk niet dat docent zal appreciƫren als je daarvan afwijkt, we werken overigens ook nog in Framework 2.0 ..
    no votes  

  8. #8
    Parnakra's Avatar
    Registered
    15/04/04
    Location
    Izegem
    Posts
    6,095
    iTrader
    1 (100%)
    Mentioned
    0 Post(s)
    Quote Originally Posted by nck2040 View Post
    This quote is hidden because you are ignoring this member. Show
    De opdracht is in ASP dus ik kan moeilijk even in C# gaan werken (dat moeten we wel voor een andere opdracht).
    Ah, mijn fout. Ik had verkeerd gelezen. Natuurlijk hang je vast aan VB als je in ASP werkt. Hoe kom ik er toch bij.
    Quote Originally Posted by nck2040 View Post
    This quote is hidden because you are ignoring this member. Show
    Nu, de methode die ik hier heb gepost bevat toch arbeider_nr? verdwijnt die niet gewoon in de foutmelding omdat die al als DataKey op mijn GridView staat of iets met die original_{0}?
    Het gaat over het (of een) moment waarop je die methode oproept.
    no votes  

  9. #9

    Registered
    03/02/04
    Location
    Hever
    Posts
    916
    iTrader
    47 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/4
    Ik heb het kunnen oplossen , wel eigenlijk iets heel vreemd. Ik heb dus nog eens naar mijn EditItemTemplate van het label van arbeider_nr gekeken en daarvan de DataBinding. Die stond eerst op zo'n standaard binding wizard en heb em dan op custom gezet, dan werkte het, maar als ik nu trug kijk staat het trug identiek als daarvoor eig maar toch werkt het... Mss dat ergens die Bind niet meer goed doorgevoerd werd ofzo. Heel eigenaardig vind ik wel maar kan gelukkig zijn :P
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in