Σφάλμα στο update με Acess

Συζητήσεις για τις γλώσσες του dot Net και για του Visual Studio της Microsoft

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
tsibos22
Δημοσιεύσεις: 8
Εγγραφή: 22 Νοέμ 2010 01:43

Σφάλμα στο update με Acess

Δημοσίευση από tsibos22 » 22 Νοέμ 2010 01:54

Παιδιά καλησπέρα.
Έχω το εξής πρόβλημα όταν πάω να κάνω update μια νέα σειρά στη βάση δεδομένων μου μου βγάζει το εξής σφάλμα: Σφάλμα σύνταξης στη δήλωση INSERT INTO.
Χροισιμοποιώ έναν dataadapter και έναν CommandBuilder για να επικοινωνεί η φόρμα μου με τη βάση δεδομένων μου.
Το παράδοξο είναι πως σε ένα άλλο παράδειγμα που έχω ακριβώς ίδιο το update γίνεται κανονικά. ο κώδικας είναι ο εξής

Κώδικας: Επιλογή όλων

Imports System.Data
Imports System.Data.OleDb

Public Class Form1


    'Change connection string if required
    Public CnStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\dkaparelis\douleia\ta ilika mou\2000.mdb;Persist Security Info=True"

    'Function that returns a DataTable
    Public Function GetTable(ByVal query As String) As DataTable
        Dim Cn As New OleDbConnection(CnStr)
        Dim Adp As New OleDbDataAdapter(query, Cn)
        Dim Cmb As New OleDbCommandBuilder(Adp)

        Dim dt As New DataTable
        Adp.Fill(dt)


        Return dt
    End Function
    'Sub to update the DataTable
    Public Sub UpdateTable(ByVal query As String, ByVal dt As DataTable)
        Dim Cn As New OleDbConnection(CnStr)
        Dim Adp As New OleDbDataAdapter(query, Cn)
        Dim Cmb As New OleDbCommandBuilder(Adp)
        Adp.Update(dt)

    End Sub
    Dim Ds As New DataSet
    Dim BSpelates As BindingSource

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim t1 As DataTable = GetTable("select * from pelates")
        t1.TableName = "pelates"
        Ds.Tables.Add(t1)
        BSpelates = New BindingSource(Ds, "pelates")
        DataGridView1.DataSource = t1


    End Sub

    Private Sub btnnewrowpelates_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnnewrowpelates.Click
        Dim dr As DataRowView = CType(BSpelates.AddNew(), DataRowView)


        dr(1) = txtPcode.Text
        dr(2) = txtPname.Text
        dr(3) = txtPfone.Text
        dr(4) = txtPadres.Text
        BSpelates.EndEdit()

        UpdateTable("select * from pelates", Ds.Tables("pelates"))
    End Sub
End Class
Η βάση που χρησιμοποιώ έχει πρωτεύων κλειδί τη πρώτη στήλη η οποία είναι και σε αυτόματη αρίθμηση (οπότε δεν τη πειράζω)
Μπορείτε να με βοηθήσετε;
Ευχαριστώ!

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Σφάλμα στο update με Acess

Δημοσίευση από virxen75 » 22 Νοέμ 2010 08:23

πρέπει να κάνεις χρήση της συνάρτησης AcceptChanges() στο dt
πριν το update του Adp




Υ.Γ. ερώτηση:
μήπως στο παράδειγμα που αναφέρεις ότι σου δουλεύει ο ίδιος κώδικας ,την βάση την έχεις φτιάξει σε Access έκδοσης μικρότερης από την Access 2007?

tsibos22
Δημοσιεύσεις: 8
Εγγραφή: 22 Νοέμ 2010 01:43

Σφάλμα στο update με Acess

Δημοσίευση από tsibos22 » 22 Νοέμ 2010 18:06

Όταν το κάνω αυτό δεν μου αποθηκεύετε στη βάση δεδομένων.
Έχω δοκιμάσει τα πάντα με τις βάσεις, να βγάλω κλειδί , αυτόματη αρίθμηση και έχω αποθηκεύσει το αρχείο της άξες σε σχεδόν όλες τις εκδόσεις και το πρόβλημα δε λύνεται

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Σφάλμα στο update με Acess

Δημοσίευση από virxen75 » 22 Νοέμ 2010 20:26

εννοώ αν δοκίμασες να το φτιάξεις σε access 2003 π.χ. απευθείας και μετά να το δοκιμάσεις

athlon
Δημοσιεύσεις: 30
Εγγραφή: 02 Οκτ 2008 01:53
Τοποθεσία: pola kai diafora........

Σφάλμα στο update με Acess

Δημοσίευση από athlon » 29 Νοέμ 2010 23:31

Me pio Visual studio Dulebis;

Απάντηση

Επιστροφή στο “dot Net και Visual Studio”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης