VB 2008 - Fehlermeldung beim Aktualisieren eines Datensatzes

16/09/2009 - 12:51 von Andreas Ahrens | Report spam
Hi NG,

ich habe folgende Fehlermeldung im unterne Code:

Dynamische SQL-Generierung für den UpdateCommand wird nicht für einen
SelectCommand unterstützt, der keine Schlüsselspalteninformationen zurückgibt.

Imports System.Data.OleDb

Public Class Form1
Const SQL As String = "SELECT * FROM Adressen"
Const connStr = "Provider=SQLOLEDB.1;Data source=.\SQLEXPRESS;Initial
Catalog=Adressverwaltung;Integrated Security =SSPI"
Dim conn As New OleDbConnection
Dim da As OleDbDataAdapter
Dim dt As New DataTable
Dim cb As OleDbCommandBuilder
Dim bm As BindingManagerBase
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Me.KategorienTableAdapter.Fill(Me.AdressverwaltungDataSet.Kategorien)

conn = New OleDbConnection(connStr)
da = New OleDbDataAdapter(SQL, conn)
dt = New DataTable("Kunden")
cb = New OleDbCommandBuilder(da)
cb.QuotePrefix = "["
cb.QuoteSuffix = "]"
conn.Open()
da.Fill(dt)
conn.Close()

Me.AdressID.DataBindings.Add("Text", dt, "AdressID")
Me.Anrede.DataBindings.Add("Text", dt, "Anrede")
Me.Nachname.DataBindings.Add("Text", dt, "Nachname")
Me.Kategorien.DataBindings.Add("Text", dt, "Kategorien")

bm = Me.BindingContext(dt)



End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
bm.Position -= 1

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
bm.Position += 1
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
bm.EndCurrentEdit()

'Dynamische SQL-Generierung für den UpdateCommand wird nicht für
einen SelectCommand unterstützt,
'der keine Schlüsselspalteninformationen zurückgibt.
da.Update(dt) 'hier de Fehlermeldung
End Sub
End Class

Wie kann ich deises Problem beseitigen?

Gruß
Andy
 

Lesen sie die antworten

#1 Peter Götz
16/09/2009 - 13:05 | Warnen spam
Hallo Andreas,

ich habe folgende Fehlermeldung im unterne Code:

Dynamische SQL-Generierung für den UpdateCommand
wird nicht für einen SelectCommand unterstützt, der keine
Schlüsselspalteninformationen zurückgibt.



... schnipp ...

Wie kann ich deises Problem beseitigen?



Indem Du Deinen Datensàtzen ein Primàrschlüsselfeld
spendierst.


Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen