Toon posts:

[ASP.NET & ACCESS] Delete en daarna Update werkt niet!?

Pagina: 1
Acties:
  • 27 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik roep de 2 volgende functies achter elkaar aan:

code:
1
2
            DeleteAfspraak(intDelID)
            UpdateAfspraakActueel(intDelKlantID)


Het probleem is dat de 2e functie zijn werkt niet doet als de eerste functie uitgevoerd wordt.
Zodra ik de DeleteAfspraak niet draai... werkt de update wel??
Ik snap der geen snars van.

Met de eerste functie delete ik dus een bepaald record.
Met de tweede voer ik een update uit aan de hand van een datum. De laatste invoerdatum wordt geselecteerd waarna deze op actueel wordt gezet. (zie code)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
Private Function DeleteAfspraak(ByVal varAfspraakID As Integer) As Boolean


        '----------------------------------------------------------------------------------------
        ' Haal de connectionstring op uit de globale variable strGlobalDbConn
        '----------------------------------------------------------------------------------------
        Dim OleDbConn As New OleDb.OleDbConnection(Global.strGlobalDbConn)
        '----------------------------------------------------------------------------------------
        '----------------------------------------------------------------------------------------

        Dim intAfspraakID As Integer = varAfspraakID

        '----------------------------------------------------------------------------------------
        ' Maak een OleDbCmnd en een string om de gegevens in de database te plaatsen
        '----------------------------------------------------------------------------------------
        Dim OleDbCmnd1 As OleDb.OleDbCommand
        Dim strSQLCmnd1 As String

        strSQLCmnd1 = "DELETE FROM Tbl_Afspraak WHERE AfspraakID = @AfspraakID"

        OleDbCmnd1 = New OleDb.OleDbCommand(strSQLCmnd1, OleDbConn)

        OleDbCmnd1.Parameters.Add("@AfspraakID", OleDb.OleDbType.Integer).Value = intAfspraakID
        '----------------------------------------------------------------------------------------
        '----------------------------------------------------------------------------------------


        '----------------------------------------------------------------------------------------
        ' Om te voorkomen dat een user een foutmelding krijgt bij een database fout, doe een
        ' Try. Als er iets fout gaat komt er een popup met daarin de informatie! En er
        ' wordt een FALSE geretourneerd.
        '----------------------------------------------------------------------------------------
        Try
            ' open de verbinding - voer query uit
            OleDbConn.Open()
            OleDbCmnd1.ExecuteNonQuery()
            Return True

        Catch Ex As Exception

            Response.Write("<script>alert('" & Ex.Message & "')</script>")
            'Return een false omdat er een fout is opgetreden
            Return False

        Finally
            ' sluit de verbinding
            OleDbConn.Close()
        End Try

    End Function
    Private Function UpdateAfspraakActueel(ByVal varKlantID As Integer) As Boolean


        '----------------------------------------------------------------------------------------
        ' Haal de connectionstring op uit de globale variable strGlobalDbConn
        '----------------------------------------------------------------------------------------
        Dim OleDbConn As New OleDb.OleDbConnection(Global.strGlobalDbConn)
        '----------------------------------------------------------------------------------------
        '----------------------------------------------------------------------------------------

        Dim intKlantID As Integer = varKlantID

        '----------------------------------------------------------------------------------------
        ' Maak een OleDbCmnd en een string om de gegevens in de database te plaatsen
        '----------------------------------------------------------------------------------------
        Dim OleDbCmnd1 As OleDb.OleDbCommand
        Dim strSQLCmnd1 As String

        strSQLCmnd1 = "UPDATE Tbl_Afspraak AS t1 SET t1.AfspraakActueel = @AfspraakActueel WHERE t1.AfspraakKlantID= @AfspraakKlantID AND t1.AfspraakInvoer IN (SELECT Max(t2.AfspraakInvoer) FROM  Tbl_Afspraak AS t2)"

        OleDbCmnd1 = New OleDb.OleDbCommand(strSQLCmnd1, OleDbConn)

        OleDbCmnd1.Parameters.Add("@AfspraakActueel", OleDb.OleDbType.Boolean).Value = True
        OleDbCmnd1.Parameters.Add("@AfspraakKlantID", OleDb.OleDbType.Integer).Value = intKlantID
        '----------------------------------------------------------------------------------------
        '----------------------------------------------------------------------------------------


        '----------------------------------------------------------------------------------------
        ' Om te voorkomen dat een user een foutmelding krijgt bij een database fout, doe een
        ' Try. Als er iets fout gaat komt er een popup met daarin de informatie! En er
        ' wordt een FALSE geretourneerd.
        '----------------------------------------------------------------------------------------
        Try
            ' open de verbinding - voer query uit
            OleDbConn.Open()
            Response.Write("___" & OleDbCmnd1.ExecuteNonQuery())
            Return True


        Catch Ex As Exception

            Response.Write("<script>alert('" & Ex.Message & "')</script>")
            'Return een false omdat er een fout is opgetreden
            Return False

        Finally
            ' sluit de verbinding
            OleDbConn.Close()
        End Try

    End Function

  • lier
  • Registratie: Januari 2004
  • Laatst online: 15:28

lier

MikroTik nerd

Misschien kan je nog even het functionele ontwerp beschrijven en het datamodel van je database.
Op dit moment is het moeilijk te beoordelen...

Eerst het probleem, dan de oplossing


  • StevenK
  • Registratie: Februari 2001
  • Laatst online: 07-05 21:43
Verwijderd schreef op maandag 25 april 2005 @ 10:04:
Ik roep de 2 volgende functies achter elkaar aan:

code:
1
2
            DeleteAfspraak(intDelID)
            UpdateAfspraakActueel(intDelKlantID)


Het probleem is dat de 2e functie zijn werkt niet doet als de eerste functie uitgevoerd wordt.
Zodra ik de DeleteAfspraak niet draai... werkt de update wel??
Ik ook niet. Wat werkt er niet ? Wat gebeurt er, welke melding krijg je ?

Kortom: leer eens een startpost schrijven.

Was advocaat maar vindt het juridische nog steeds leuk. Doet tegenwoordig iets in de metaal.


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 06-05 18:51

Creepy

Tactical Espionage Splatterer

Zie StevenK dus.

En daarbij komt nog: wat heb je nu zelf al geprobeerd om het op te lossen? Wat lukte daar niet mee? Ben je al stap voor stap dooe je code heen gelopen? Heb je de verschillende queries al eens op het scherm afgedrukt om te kijken of die kloppen? Zie P&W FAQ - Leer **** debuggen!!.
En ja, eigenlijk wordt er hier van je verwacht dat je zelf aan het debuggen bent geweest en dat je aangeeft wat je nu al hebt geprobreerd.

Als je dat gedaan hebt heb je zelf namelijk ook een veel beter idee waar het probleem ongeveer zit. Je kan dan ook de relevante code posten i.p.v. de redelijk lap die je nu hebt gepost :)

Zie ook P&W FAQ - De "quickstart" voor hoe we een startpost zouden willen zien :)

[ Voor 10% gewijzigd door Creepy op 25-04-2005 10:27 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Dit topic is gesloten.