Fehler bei ObjectDataSource mit ConflictDetection="CompareAllValues" Delete

05/10/2007 - 13:14 von Uwe Lesta | Report spam
Hallo NG,

Beim OnDelete bekomme ich die fehlermeldung

// "Sie haben angegeben, dass die löschen-Methode alle Werte in ObjectDataSource "_ObjectDataSource1"
// vergleicht, doch das für oldValues übergebene Wörterbuch ist leer. Übergeben Sie ein gültiges
// Wörterbuch für löschen, oder àndern Sie den Modus in OverwriteChanges."

Leider wir diese vor OnDeleting ausgelöst.

Was mach ich falsch bzw. wie kann ich das àndern ??


Ich benutze eine ObjectDataSource

<asp:ObjectDataSource ID="_ObjectDataSource1" runat="server"

DeleteMethod="Delete"
UpdateMethod="Update"
InsertMethod="Insert"
SelectMethod="SelectAll"
DataObjectTypeName="LibraryPV.Criteria"
OldValuesParameterFormatString="original_Criteria"
ConflictDetection="CompareAllValues"
TypeName="PvWeb.AppCode.CriteriaListProfileWrapper"
OnDeleting="ODS_OnDeleting"




</asp:ObjectDataSource>

Den Methoden wird ein object übergeben

public void Update(Criteria item, Criteria original_Criteria)
{
string original_Name2 = original_Criteria.Name;
if (string.IsNullOrEmpty(item.Name))
throw new ArgumentException("Name darf nicht leer sein!");
else
PVTableProfileWrapper.PVTable.UpdateCriteria(original_Name2, item.Name, item.Description,
item.Ord);
}
}


public void Delete(Criteria item)
{
PVTableProfileWrapper.PVTable.DeleteCriteria(item.Name);
}


Kind regards

Uwe
Lesta at SBS-Softwaresysteme.de
 

Lesen sie die antworten

#1 Frank Dzaebel
06/10/2007 - 12:01 | Warnen spam
Hallo Uwe,

[...] Ich benutze eine ObjectDataSource
<asp:ObjectDataSource [...]



Dann sollte das wohl auch in die Gruppe:

microsoft.public.de.german.entwickler.dotnet.asp

(wenn dort keine Antwort gefunden wird,
hier noch mal posten)


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen