Parallelitätsverletzung : : Der UpdateCommand hat...

26/09/2009 - 00:07 von immi | Report spam
Hallo,

ich habe ein kleines Probleme und weiß nun nicht mehr weiter.
Vielleicht kann mir einer von Euch helfen.

C# - Bsp.-Code:
try
{
string sPath = "WindowsFormsApplication1\\";
string SQLDataBase = "testdb.db3";

SQLiteConnection _SQLConnection = new SQLiteConnection("Data
Source=" + sPath + SQLDataBase);
SQLiteDataAdapter _SQLDataAdapter = new SQLiteDataAdapter
("SELECT ID, Vorname, Nachname FROM Table1 WHERE ID='64e858ce-
d8af-43e3-9ac1-0286226758b2'", _SQLConnection);
SQLiteCommandBuilder _SQLCmdBuilder = new SQLiteCommandBuilder
(_SQLDataAdapter);

DataTable categoryTable = new DataTable();
_SQLDataAdapter.Fill(categoryTable);

DataRow categoryRow = categoryTable.Rows[0];
categoryRow["Nachname"] = "Dummy";

MessageBox.Show("[1] " + _SQLCmdBuilder.GetUpdateCommand
().CommandText.ToString());
int iAnzahl = _SQLDataAdapter.Update(categoryTable);
MessageBox.Show("es wurde " + iAnzahl.ToString() + " Zeilen in
die DB geschrieben...");
}

catch (Exception ex)
{
MessageBox.Show("[2] " + ex.Message);
}

Probleme:
Ich habe das Probleme, das über den CommandBuild + Upate(DataTable)
immer folgende Output bekomme:
[1] UPDATE [Table1] SET [ID] = @param1, [Vorname] = @param2,
[Nachname] = @param3 WHERE (([ID] = @param4) AND ([Vorname] = @param5)
AND ([Nachname] = @param6))
[2] Parallelitàtsverletzung : Der UpdateCommand hat sich auf 0 der
erwarteten 1 Datensàtze ausgewirkt.

DB-Aufbau:
ID : DataType = GUID, Primery Key = True
Nachname (VarChar50)
Vorname (VarChar50)

Gruß
Dietmar
 

Lesen sie die antworten

#1 Peter Fleischer
26/09/2009 - 05:57 | Warnen spam
"immi" schrieb im Newsbeitrag
news:

ich habe ein kleines Probleme und weiß nun nicht mehr weiter.
Vielleicht kann mir einer von Euch helfen.

C# - Bsp.-Code:



Der Beispielcode funktioniert fehlerfrei!

try
{
string sPath = "WindowsFormsApplication1\\";
string SQLDataBase = "testdb.db3";

SQLiteConnection _SQLConnection = new SQLiteConnection("Data
Source=" + sPath + SQLDataBase);
SQLiteDataAdapter _SQLDataAdapter = new SQLiteDataAdapter
("SELECT ID, Vorname, Nachname FROM Table1 WHERE ID='64e858ce-
d8af-43e3-9ac1-0286226758b2'", _SQLConnection);
SQLiteCommandBuilder _SQLCmdBuilder = new SQLiteCommandBuilder
(_SQLDataAdapter);

DataTable categoryTable = new DataTable();
_SQLDataAdapter.Fill(categoryTable);

DataRow categoryRow = categoryTable.Rows[0];
categoryRow["Nachname"] = "Dummy";



Wenn du hier mit der Originalversion manipulierst, dann kannst du den Fehler
erzeugen, z.B. so:

categoryTable.AcceptChanges();
categoryRow["Nachname"] = "Dummy2";

Du erhöhst Deine Chance, dass Deine Frage überhaupt gelesen und qualifiziert
und schnell beantwortet wird, wenn Du Deinen Realnamen im Absender
einstellst (Vor- und Zuname).

Viele Grüsse
Peter

Ähnliche fragen