Der tägliche Wahnsinn
Ich mag kein newid()
Wer kennt nicht das Problem mit dem Primary Key, Dataset und der NoNullAllowedException?
Ich habe mir die Finger wund gegoogelt um eine “einfache” Lösung des Problems zu finden, und bin über folgenden kleinen Codefetzen gestoßen, welchen man nur in seinem Dataset einpflegen muß (Rechtsklick auf das Dataset (XSD) im Designer und “View Code” auswählen.
private bool CreateDefaultGuids = false;
public void CtreateDefaultGuids()
{
if (CreateDefaultGuids) return;
CreateDefaultGuids = true;
foreach (DataTable dt in this.Tables)
{
if (dt.Columns[0] != null)
{
dt.TableNewRow += new DataTableNewRowEventHandler(TableNewRowStudy);
}
}
}
private void TableNewRowStudy(object sender, DataTableNewRowEventArgs e)
{
if (e.Row[0] is DBNull)
e.Row[0] = Guid.NewGuid();
}
Jetzt muß dies im _Load Event deiner Form einmalig CtreateDefaultGuids() aufgerufen werden, und schon ist Schluß mit der NoNullAllowed Exception.
| Artikel drucken | Dieser Beitrag wurde von Chris am 2008-10-20 um 15:10 veröffentlicht und unter C#, SQL Server abgelegt. Du kannst allen Antworten zu diesem Beitrag durch RSS 2.0 folgen. Du kannst eine Antwort schreiben oder einen Trackback von deiner eigenen Seite hinterlassen. |