Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - SqlDataAdapter - Update


Cebrail - Mo 26.05.08 15:58
Titel: SqlDataAdapter - Update
Hallo alle zusammen,

ich komme überhaupt nicht weiter. Ich möchte einfach nur meine Tabelle Updaten leider bekomme ich bei jeder Variante, die ich ausprobiert habe dieselbe Fehlermeldung:

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

Die Methode ist eigentlich recht simpel ich verstehe einfach nicht warum sie nicht funktioniert. Es währe sehr nett wenn mir jemand helfen könnte.



C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
        SqlConnection connection = new SqlConnection(connectionString);
            SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM tblBenutzer", connection);
            SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
            builder.QuotePrefix = "[";
            builder.QuoteSuffix = "]";

            DataSet custDS = new DataSet();

            connection.Open();
            adapter.Fill(custDS, "tblBenutzera");

            custDS.Tables["tblBenutzera"].Rows[0][2] = "TEST";
            custDS.Tables["tblBenutzera"].PrimaryKey = new DataColumn[] { custDS.Tables["tblBenutzera"].Columns["ID"] };

            adapter.Update(custDS, "tblBenutzer");
            connection.Close();



Dakeschön.

Beste grüße,
Cebrail.

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt


Kha - Mo 26.05.08 17:36

:welcome:
Hm, hat deine Tabelle denn wirklich einen Primary Key ;) ?


Cebrail - Mo 26.05.08 17:49

Hallo Khabarakh,
Dankeschön für deine Antwort.
Soweit ich weiß ist ein Primary Key in der Tabelle vorhanden.

tblBenutzer Identitätsspalte = ID

ID hat die Eigenschaften:
Datentyp = int
NULL zulassen = Nein
Identitätsspezifikation = Ja
(Ist Identity) = Ja
ID-Schrittwerte = 1
ID-Startwert = 1

Muss ich da noch was anderes machen damit es ein Primary Key wird?

Beste grüße,
Cebrail


JüTho - Mo 26.05.08 17:57

Schön, dass Du in mindestens drei Foren den Hinweis auf den PrimaryKey abfragst - hier und dort:
Entwickler-Forum [http://entwickler-forum.de/showthread.php?goto=newpost&t=48530]
myCSharp.de [http://www.mycsharp.de/wbb2/thread.php?threadid=55793]
Ich liebe diese Mehrfach-Posts, wenn immer wieder Helfer Antworten geben, die anderswo schon zu lesen sind. Jürgen