Likes Likes:  0
Resultaten 1 tot 9 van de 9
  1. #1
    De instructie INSERT bevat een syntaxisfout. (asp.net, vb, ms acces)
    geregistreerd gebruiker
    57 Berichten
    Ingeschreven
    09/02/07

    Locatie
    kortrijk

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter

    De instructie INSERT bevat een syntaxisfout. (asp.net, vb, ms acces)

    Ik krijg volgende foutcode als ik op "btnInsert" heb geklikt om een formulier in te voegen in mijn database.

    Code:
    De instructie INSERT bevat een syntaxisfout.
    code is ASP.NET, Vb en database is ms access

    Hieronder de code voor de actie van btnInsert klik (INSERT).
    PHP Code:
    Protected Sub btnInsert_Click(ByVal sender As ObjectByVal e As System.EventArgsHandles btnInsert.Click
            Dim objCn 
    As New System.Data.OleDb.OleDbConnection(strCn)
            
    objCn.Open()


            If 
    id.Text <> "" Then
                
    ' Bestaand record => update
                strSql = "UPDATE entries SET titel = @titel, " _
                       & "text = @text, " _
                       & "category = @category, " _
                       & "date = @date, " _
                       & "must = @must " _
                       & "WHERE id = @id; "
            Else
                ' 
    Nieuw record => Insert

                strSql 
    "INSERT INTO entries(titel, text, category, date, must) " _
                       
    "VALUES(@titel,@text,@category,@date,@must);"
            
    End If

            
    Dim objCmd As New System.Data.OleDb.OleDbCommand(strSqlobjCn)
            
    objCmd.Parameters.Clear()






            
    objCmd.Parameters.Add("@titel"OleDbType.VarChar)
            
    objCmd.Parameters("@titel").Value titel.Text
            objCmd
    .Parameters.Add("@text"OleDbType.VarChar)
            
    objCmd.Parameters("@text").Value FreeText.Text
            objCmd
    .Parameters.Add("@category"OleDbType.VarChar)
            If 
    newCat.Text "" Then
                objCmd
    .Parameters("@category").Value DropDownListCat.SelectedValue
            
    Else
                
    objCmd.Parameters("@category").Value newCat.Text
            End 
    If

            
    objCmd.Parameters.Add("@date"OleDbType.Date)
            
    objCmd.Parameters("@date").Value CType(lblDate.TextDate)
            
    objCmd.Parameters.Add("@must"OleDbType.Boolean)
            
    objCmd.Parameters("@must").Value CheckBoxMust.Checked

            
    If id.Text <> "" Then
                
    ' parameter voor id aanmaken
                objCmd.Parameters.Add("@id", OleDbType.Integer)
                objCmd.Parameters("@id").Value = CType(id.Text, Integer)
            End If



            Try
                objCmd.ExecuteNonQuery()
            Catch ex As Exception
                boodschap.ForeColor = Drawing.Color.Red
                boodschap.Text = "Er trad een fout op bij het bewaren van de gegevens.<br />" & ex.Message
                Exit Sub
            Finally
                If objCn.State = Data.ConnectionState.Open Then
                    objCn.Close()
                End If
            End Try

            ' 
    Indioen nodig de nieuwe id ophalen voor verdere verwerking
            
    If id.Text "" Then
                id
    .Text GetHighestId().ToString


            End 
    If

            
    boodschap.ForeColor Drawing.Color.Green
            boodschap
    .Text "De gegevens zijn bewaard."

        
    End Sub 

  2. #2
    De instructie INSERT bevat een syntaxisfout. (asp.net, vb, ms acces)
    geregistreerd gebruiker
    1.712 Berichten
    Ingeschreven
    03/01/07

    Locatie
    Winschoten / Groningen

    Post Thanks / Like
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    2 Berichten zijn liked


    Naam: Kobus Draijer
    Bedrijf: IC Hosting
    URL: www.ic-hosting.nl
    Registrar SIDN: ja
    KvK nummer: 02079831
    Ondernemingsnummer: nvt
    TrustCloud: ichosting

    Heb niet zoveel kaas gegeten van ASP, maar moet het niet zijn:
    Code:
           strSql = "INSERT INTO entries(titel, text, category, date, must) " _
                       & "VALUES(@titel,@text,@category,@date,@must)";

  3. #3
    De instructie INSERT bevat een syntaxisfout. (asp.net, vb, ms acces)
    geregistreerd gebruiker
    57 Berichten
    Ingeschreven
    09/02/07

    Locatie
    kortrijk

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    neen dit is normaal juist. de ; moeten binnen de "" staan.

    Heb dus nog steeds hetzelfde probleem.

    Alvast bedankt.

  4. #4
    De instructie INSERT bevat een syntaxisfout. (asp.net, vb, ms acces)
    geregistreerd gebruiker
    1.712 Berichten
    Ingeschreven
    03/01/07

    Locatie
    Winschoten / Groningen

    Post Thanks / Like
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    2 Berichten zijn liked


    Naam: Kobus Draijer
    Bedrijf: IC Hosting
    URL: www.ic-hosting.nl
    Registrar SIDN: ja
    KvK nummer: 02079831
    Ondernemingsnummer: nvt
    TrustCloud: ichosting

    Ok, probeer dan eens SINGLE QUOTES om de vars:

    Code:
    strSql = "INSERT INTO entries(titel, text, category, date, must) " _
                       & "VALUES('@titel','@text','@category','@date','@must');"

  5. #5
    De instructie INSERT bevat een syntaxisfout. (asp.net, vb, ms acces)
    geregistreerd gebruiker
    4.149 Berichten
    Ingeschreven
    09/12/05

    Locatie
    Almere

    Post Thanks / Like
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    76 Berichten zijn liked


    Naam: Ramon Fincken
    Bedrijf: Managed WordPress Hosting / Codert.cloud
    Functie: CEO
    URL: www.managedwphosting.nl
    Registrar SIDN: Nee
    KvK nummer: 30262182
    TrustCloud: ramonfincken
    View ramonfincken's profile on LinkedIn

    laat de strSql query eens zien zoals hij m wil plaatsen ?

    in php heet dat echo $queryinstructie;

    heb je het ook met

    `titel`,`text` etc.... geprobeerd ?
    WordPress hosting Optimalisatie webbouw debugging door WP Core developers

  6. #6
    De instructie INSERT bevat een syntaxisfout. (asp.net, vb, ms acces)
    geregistreerd gebruiker
    8 Berichten
    Ingeschreven
    13/08/07

    Locatie
    Omgeving Alkmaar

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: Nee
    KvK nummer: 37122150
    Ondernemingsnummer: nvt

    Citaat Oorspronkelijk geplaatst door ichosting Bekijk Berichten
    Ok, probeer dan eens SINGLE QUOTES om de vars:

    Code:
    strSql = "INSERT INTO entries(titel, text, category, date, must) " _
                       & "VALUES('@titel','@text','@category','@date','@must');"
    Volgens mij moet je inderdaad alle string waardes tussen single quotes zetten, volgens mij hoeft dit niet met integers. Verder neem ik aan dat
    er geen enge quotes of andere vreemde tekens in je invoer zitten.

    Probeer overigens ook even de volgende stukjes te veranderen: "entries(titel," => "entries (titel," en "VALUES(@titel" => "VALUES ('@titel"

    Succes!

  7. #7
    De instructie INSERT bevat een syntaxisfout. (asp.net, vb, ms acces)
    geregistreerd gebruiker
    57 Berichten
    Ingeschreven
    09/02/07

    Locatie
    kortrijk

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    Hieronder volledige VB code:

    Code:
    Imports System.Data
    Imports System.Data.OleDb
    
    Partial Class insertentrie
        Inherits System.Web.UI.Page
    
        Dim strCn, strSql As String
        Dim intId As Integer
    
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            strCn = ConfigurationManager.ConnectionStrings("databasename").ConnectionString
    
    
            
    
    
    
            ' Indien een bestaand record opgevraagd wordt zullen de gegevens uit de DB
            ' gehaald en getoont worden.
            If Request.QueryString("id") <> "" Then
                ' Er werd een id doorgegeven
                intId = CType(Request.QueryString("id"), Integer)
                id.Text = intId.ToString
    
                If Not Page.IsPostBack Then
                    entriesById(intId)
                End If
            End If
    
    
    
            If Not Page.IsPostBack Then
    
                DropDownListCat.DataTextField = "category"
                DropDownListCat.DataValueField = "category"
                DropDownListCat.DataSource = GetCode()
                DropDownListCat.DataBind()
    
            End If
    
    
    
    
    
            If lblDate.Text = "" Then
                lblDate.Text = Date.Now
            End If
    
    
        End Sub
    
    
        Private Function GetCode() As Data.DataSet
            Dim objCn As New System.Data.OleDb.OleDbConnection(strCn)
            objCn.Open()
    
            strSql = "SELECT * FROM entries ORDER BY category ASC;"
    
            Dim objCmd As New OleDbCommand(strSql, objCn)
            Dim objDa As New OleDbDataAdapter(objCmd)
            Dim objDs As New Data.DataSet
    
            objDa.Fill(objDs, "entries")
    
            If objCn.State = Data.ConnectionState.Open Then
                objCn.Close()
            End If
    
            Return objDs
    
        End Function
    
    
    
    
        Protected Sub btnInsert_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnInsert.Click
            Dim objCn As New System.Data.OleDb.OleDbConnection(strCn)
            objCn.Open()
    
    
            If id.Text <> "" Then
                ' Bestaand record => update
                strSql = "UPDATE entries SET titel = @titel, " _
                       & "text = @text, " _
                       & "category = @category, " _
                       & "date = @date, " _
                       & "must = @must " _
                       & "WHERE id = @id; "
            Else
                ' Nieuw record => Insert
    
                strSql = "INSERT INTO entries(titel, text, category, date, must) " _
                       & "VALUES(@titel,@text,@category,@date,@must);"
    
    
    
            End If
    
            Dim objCmd As New System.Data.OleDb.OleDbCommand(strSql, objCn)
            objCmd.Parameters.Clear()
    
    
    
    
    
    
            objCmd.Parameters.Add("@titel", OleDbType.VarChar)
            objCmd.Parameters("@titel").Value = titel.Text
            objCmd.Parameters.Add("@text", OleDbType.VarChar)
            objCmd.Parameters("@text").Value = FreeText.Text
            objCmd.Parameters.Add("@category", OleDbType.VarChar)
            If newCat.Text = "" Then
                objCmd.Parameters("@category").Value = DropDownListCat.SelectedValue
            Else
                objCmd.Parameters("@category").Value = newCat.Text
            End If
    
            objCmd.Parameters.Add("@date", OleDbType.Date)
            objCmd.Parameters("@date").Value = CType(lblDate.Text, Date)
            objCmd.Parameters.Add("@must", OleDbType.Boolean)
            objCmd.Parameters("@must").Value = CheckBoxMust.Checked
    
            If id.Text <> "" Then
                ' parameter voor id aanmaken
                objCmd.Parameters.Add("@id", OleDbType.Integer)
                objCmd.Parameters("@id").Value = CType(id.Text, Integer)
            End If
    
    
    
            Try
                objCmd.ExecuteNonQuery()
            Catch ex As Exception
                boodschap.ForeColor = Drawing.Color.Red
                boodschap.Text = "Er trad een fout op bij het bewaren van de gegevens.<br />" & ex.Message
                Exit Sub
            Finally
                If objCn.State = Data.ConnectionState.Open Then
                    objCn.Close()
                End If
            End Try
    
            ' Indioen nodig de nieuwe id ophalen voor verdere verwerking
            If id.Text = "" Then
                id.Text = GetHighestId().ToString
    
    
            End If
    
            boodschap.ForeColor = Drawing.Color.Green
            boodschap.Text = "De gegevens zijn bewaard."
    
        End Sub
    
    
        Private Function GetHighestId() As Integer
            Dim objCn As New System.Data.OleDb.OleDbConnection(strCn)
            objCn.Open()
    
            strSql = "SELECT MAX(id) AS Hoogste FROM entries;"
    
            Dim objCmd As New OleDbCommand(strSql, objCn)
            Dim objDa As New OleDbDataAdapter(objCmd)
            Dim objDs As New Data.DataSet
    
            objDa.Fill(objDs, "max")
    
            If objCn.State = Data.ConnectionState.Open Then
                objCn.Close()
            End If
    
            If objDs.Tables("max").Rows.Count <> 0 Then
                Return objDs.Tables("max").Rows(0).Item("Hoogste")
            Else
                Return -1
            End If
    
        End Function
    
        Private Sub entriesById(ByVal intLocalId As Integer)
            Dim objCn As New System.Data.OleDb.OleDbConnection(strCn)
            objCn.Open()
    
            strSql = "SELECT * FROM entries WHERE id = @id;"
    
            Dim objCmd As New OleDbCommand(strSql, objCn)
            objCmd.Parameters.Add("@id", OleDbType.Integer)
            objCmd.Parameters("@id").Value = intLocalId
    
            Dim objDa As New OleDbDataAdapter(objCmd)
            Dim objDs As New Data.DataSet
    
            objDa.Fill(objDs, "entries")
    
            If objCn.State = Data.ConnectionState.Open Then
                objCn.Close()
            End If
    
            ' Plaats de gegevens van het prospectrecord in de tekstvakken
            If objDs.Tables("entries").Rows.Count > 0 Then
                id.Text = objDs.Tables("entries").Rows(0).Item("id").ToString
    
    
                titel.Text = objDs.Tables("entries").Rows(0).Item("titel").ToString
                FreeText.Text = objDs.Tables("entries").Rows(0).Item("text").ToString
                DropDownListCat.SelectedValue = objDs.Tables("entries").Rows(0).Item("category").ToString
                lblDate.Text = objDs.Tables("entries").Rows(0).Item("date").ToString
                CheckBoxMust.Checked = objDs.Tables("entries").Rows(0).Item("must")
    
            Else
                boodschap.ForeColor = Drawing.Color.Red
                boodschap.Text = "De gevraagde gegevens werden niet gevonden."
            End If
    
        End Sub
    
        Protected Sub btnDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnDelete.Click
            intId = CType(id.Text, Integer)
    
            Dim objCn As New System.Data.OleDb.OleDbConnection(strCn)
            objCn.Open()
    
            strSql = "DELETE FROM entries WHERE id = @id;"
    
            Dim objCmd As New System.Data.OleDb.OleDbCommand(strSql, objCn)
            objCmd.Parameters.Clear()
    
            ' parameter voor id aanmaken
            objCmd.Parameters.Add("@id", OleDbType.Integer)
            objCmd.Parameters("@id").Value = intId
    
            Try
                objCmd.ExecuteNonQuery()
            Catch ex As Exception
                boodschap.ForeColor = Drawing.Color.Red
                boodschap.Text = "Er trad een fout op bij het verwijderen van de gegevens.<br />" & ex.Message
                Exit Sub
            Finally
                If objCn.State = Data.ConnectionState.Open Then
                    objCn.Close()
                End If
            End Try
    
            Response.Redirect("index.aspx")
        End Sub
    
        Protected Sub btnRefresh_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnRefresh.Click
            Response.Redirect("insertentrie.aspx")
            ' Formulier in status voor nieuwe ingave brengen
            id.Text = ""
            titel.Text = ""
            FreeText.Text = ""
            DropDownListCat.DataTextField = ""
            lblDate.Text = ""
            CheckBoxMust.Checked = False
            newCat.Text = ""
    
    
    
    
    
    
        End Sub
    
    
    
    
    
    End Class

  8. #8
    De instructie INSERT bevat een syntaxisfout. (asp.net, vb, ms acces)
    geregistreerd gebruiker
    1.712 Berichten
    Ingeschreven
    03/01/07

    Locatie
    Winschoten / Groningen

    Post Thanks / Like
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    2 Berichten zijn liked


    Naam: Kobus Draijer
    Bedrijf: IC Hosting
    URL: www.ic-hosting.nl
    Registrar SIDN: ja
    KvK nummer: 02079831
    Ondernemingsnummer: nvt
    TrustCloud: ichosting

    Begrijp dat het dus nog steeds niet werkt met de aangedragen opties?
    Al geprobeerd met die Quotes (' ') om de vars?

  9. #9
    De instructie INSERT bevat een syntaxisfout. (asp.net, vb, ms acces)
    geregistreerd gebruiker
    57 Berichten
    Ingeschreven
    09/02/07

    Locatie
    kortrijk

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    Probleem is opgelost.

    Het probleem was:
    Had in de database een veld "date" en een vel "text". Dit mag je niet gebruiken ( toch zeker niet bij oleDb) omdat het gereserveerde woorden zijn voor SQL opdrachten.



Labels voor dit Bericht

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2021 Webhostingtalk.nl.
Web Statistics