Andre
The Shocker
Hallo zusammen,
ich soll nun ein Tool in C# zu Ende schreiben, womit ich ganz einfach Daten über eine Oracle-Datenbank verwalte.
Um die Datenbank zu verwalten (Tabellen, etc. ) benutze ich den Telerik ORM.
Nun zu meinem Problem, ich möchte nun die Daten, die ich in Textboxen eingebe, in einer Datenbank speichern.
Bis zum Schreiben in die Oracle Datenbank läuft auch noch alles ohne Probleme und dann kommt folgende Fehlermeldung:
Hier nen Code-Ausschnitt
Und der Fehler tritt beim "em.SaveChanges()" auf.
Ich versuche diesen fehler schon seit ca. 3 stunden zu beheben.
ich soll nun ein Tool in C# zu Ende schreiben, womit ich ganz einfach Daten über eine Oracle-Datenbank verwalte.
Um die Datenbank zu verwalten (Tabellen, etc. ) benutze ich den Telerik ORM.
Nun zu meinem Problem, ich möchte nun die Daten, die ich in Textboxen eingebe, in einer Datenbank speichern.
Bis zum Schreiben in die Oracle Datenbank läuft auch noch alles ohne Probleme und dann kommt folgende Fehlermeldung:
Code:
System.FormatException: GUID muss 32 Ziffern mit 4 Bindestrichen enthalten (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
bei System.Guid..ctor(String g)
bei OpenAccessRuntime.Relational.sql.SqlDriver.convertId(Object v, Int32 t)
bei OpenAccessRuntime.Relational.sql.SqlDriver.mapAutoIncColumnValue(RelationalTable classTable, Object v)
bei OpenAccessRuntime.Relational.sql.OracleSqlDriver.getAutoIncColumnValue(RelationalTable classTable, Connection con, Statement stat)
bei OpenAccessRuntime.Relational.sql.AutoIncRelationalKeyGenerator.generatePrimaryKeyPost(String className, RelationalTable classTable, Object[] data, Connection con, Statement stat)
bei OpenAccessRuntime.Relational.RelationalStorageManager.generateInserts(NewObjectOID oid, Int32 index, ClassMetaData cmd, PersistGraph graph, Int32[] fieldNos, CharBuf s, Object[] oidData, IntArray toUpdateIndexes)
bei OpenAccessRuntime.Relational.RelationalStorageManager.persistPass1(PersistGraph graph)
bei OpenAccessRuntime.Relational.RelationalStorageManager.doUpdates(StatesToStore toStore, StateContainer container, Boolean retainValues)
bei OpenAccessRuntime.Relational.RelationalStorageManager.store(StatesToStore toStore, DeletePacket toDelete, Boolean returnFieldsUpdatedBySM, Int32 storeOption, Boolean evictClasses)
Hier nen Code-Ausschnitt
Code:
datcombox box = new datcombox();
datcom_bemerkung bemerkung = new datcom_bemerkung();
simkarten simkarte = new simkarten();
status_datcom status = new status_datcom();
DatcomEntities.DatcomboxTransactions dt = DatcomEntities.DatcomboxTransactions.GetInstance();
if (tbBemerkung.Text.Trim().Length > 0)
{
bemerkung.bemerkung = tbBemerkung.Text;
bemerkung.dat_ins = DateTime.Now;
bemerkung.guid_bemerkung = Guid.NewGuid();
}
box.datcomnr = tbSnr.Text;
box.firmware = tbFirmware.Text;
box.kfz_kennzeichen = tbKennzeichen.Text;
box.guid_datcombox = Guid.NewGuid();
box.dat_ins = DateTime.Now;
box.dat_upd = DateTime.Now;
simkarte.dat_ins = DateTime.Now;
simkarte.kartennr = tbKartennummer.Text;
simkarte.telnr = tbTelnr.Text;
simkarte.guid_simkarten = Guid.NewGuid();
simkarte.dat_ins = DateTime.Now;
simkarte.dat_upd = DateTime.Now;
status.status_text = cbStatus.Text;
box.datcom_bemerkungs.Add(bemerkung);
box.simkartens.Add(simkarte);
bemerkung.status_datcoms.Add(status);
dt.addDatcombox(box);
Code:
public void addDatcombox(datcombox box)
{
using (EntitiesModel em = new EntitiesModel())
{
em.Add(box);
em.SaveChanges();
}
}
Ich versuche diesen fehler schon seit ca. 3 stunden zu beheben.