verwendetes Datenbanksystem: MS SQL-Server 2012
Hallo,
unerfahrener Neuling braucht Hilfe von Euch.
private void button1_Click(object sender, EventArgs e)
{
TestdatenDataSet.BuddysRow newBuddysRow;
newBuddysRow = testdatenDataSet.Buddys.NewBuddysRow();
newBuddysRow.Nachname = "Knallinger";
testdatenDataSet.Buddys.Rows.Add(newBuddysRow);
}
private void button2_Click(object sender, EventArgs e)
{
buddysTableAdapter.Update(testdatenDataSet.Buddys);
}
button1 funktioniert.
In der Tabelle wird eine neue Zeile eingefügt und die Personal-Nummer hochgezählt.
button2 verursacht folgende Meldung:
Fehlermeldung:
Ein Ausnahmefehler des Typs "System.Data.SqlClient.SqlException" ist in System.Data.dll aufgetreten.Zusätzliche Informationen: The multi-part identifier "Pers.-Nr" could not be bound.
Ich bitte um Nachsicht,daß mir tiefgreifende Kenntnisse fehlen und
bedanke mich im Voraus
Bitte benutze die richtigen Code-Tags
Bitte verwende die Code-Tags.
Multi-Part bedeutet in dem Zusammenhang, dass dein Updatestatement mehrere Tabellen beinhaltet und in mehreren Tabellen die Spalte "Pers.-Nr" vorkommt. Du musst diese im Statement also vollständig angeben z.B. Tabelle1.[Pers.-Nr].
Hallo,danke für die schnelle Antwort.
Es gibt in der Datenbank nur eine Tabelle "Buddys"
http://www.mycsharp.de/wbb2/images/smilies/confused.gif
Naja, dass musst Du ja irgendwann in deinem DataSet angegeben habe. Du kannst dort den entsprechenden Adapater auswählen und siehst in den Eigenschaften die unterschiedlichen Statements.
Hier habe ich nur ein Statement gefunden:
SELECT Vorname, Nachname, Geburtstag, Wohnort, [Pers.-Nr.]
FROM Buddys
Diese Daten werden im DataGridView korrekt dargestellt.
So wie ich die Sache verstehe,muß das Statement zum Abspeichern erst
erzeugt werden
nein, je wie die Db konfiguriert ist, werden Statements automatisch erzeugt.
Aber wenn deine Db-Tabelle zB keinen Primärschlüssel hat, dann können keine Update- oder Delete-Commands generiert werden, bleiben also null.
Dann findest du auch nur das SelectCommand. (vlt. auch noch ein InsertCommand, weiß ich aber nicht.)
Der frühe Apfel fängt den Wurm.
Dann wäre es aber höchst unwahrscheinlich, dass das Update/Insert mit einem
Fehlermeldung:
The multi-part identifier "Pers.-Nr" could not be bound.
knallt.
Kaum macht man alles richtig,schon geht´s.
Das Problem scheint in der Tabelle gelegen zu haben.
Habe eine neue erstellt. Der Spaltenname der Personal-Nummer hat jetzt keine
Punkte und Bindestriche mehr und der Datentyp ist jetzt "int".
An alle die sich mit meinem Problem befasst haben:
Vielen Dank!