Forums Neueste Beiträge
 

Esoterische Fehler nach abändern eines Datentyps

05/08/2009 - 10:28 von B. Viehmann | Report spam
Hallo,

folgendes Problem konnte von mir leider nicht gelöst werden:

ich habe in einem DataSet hàndisch eine DataTable erzeugt. Dummerweise
hatte ich ursprünglich für den Datentyp einer Spalte
System.Data.SqlTypes.SqlInt64 verwendet. Nachdem ich gemerkt habe das es
eigentlich Quatsch ist habe ich den Typ in SqlInt32 geàndert. Also:

column = new DataColumn("OrderDetailID", typeof(SqlInt32));
column.AutoIncrement = true;
orderDetail.Columns.Add(column);

Wenn ich in einer Funktion nun eine Row dieser Tabelle erzeugen will
bekomme ich zur Laufzeit folgende Exception:

Objekt vom Typ 'System.Int64' kann nicht in Objekt vom Typ
'System.Data.SqlTypes.SqlInt32' konvertiert werden.

Ich habe auch nach langer Suche keine Variable vom Typ System.Int64 in
meinem Quellcode gefunden (Die Suchfunktion von VS-EXPRESS übrigens auch
nicht :-).

Die Details der Exception sehen so aus:


Stapelüberwachung:

[DataException: Objekt vom Typ 'System.Int64' kann nicht in Objekt vom Typ 'System.Data.SqlTypes.SqlInt32' konvertiert werden.]
System.Data.Common.SqlConvert.ConvertToSqlInt32(Object value) +1635886
System.Data.Common.SqlInt32Storage.Set(Int32 record, Object value) +26
System.Data.DataColumn.Init(Int32 record) +77
System.Data.DataTable.NewRecord(Int32 sourceRecord) +73
System.Data.DataTable.NewRow(Int32 record) +4820145
System.Data.DataTable.NewRow() +16
blogic_Order.addGoodToShoppingBasket(Int32 goodId) in c:\Development\DynamicAspNet\WebSites\OSCAR_OrderUI__0a\App_Code\BusinessLogic\blogic_Order.cs:54
Default2.GoodsGrdVw_Command(Object sender, GridViewCommandEventArgs e) in c:\Development\DynamicAspNet\WebSites\OSCAR_OrderUI__0a\OrderForm.aspx.cs:139
System.Web.UI.WebControls.GridView.OnRowCommand(GridViewCommandEventArgs e) +108
System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +112
System.Web.UI.WebControls.GridView.RaisePostBackEvent(String eventArgument) +207
System.Web.UI.WebControls.GridView.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565


Versionsinformationen: Microsoft .NET Framework-Version:2.0.50727.3082; ASP.NET-Version:2.0.50727.3082




Hat jemand einen Tipp für mich?


Vielen Dank und Grüße

Bernd
 

Lesen sie die antworten

#1 Susanna Balmer
05/08/2009 - 10:53 | Warnen spam
Sàlü Bernd,

Ich bin mir nicht sicher, aber vielleicht würde es helfen wenn du
deine hàndisch erstellte DataTable löschst.
Speichere dein Projekt und erstelle die DataTable neu.

Bei mir hat sowas schon geholfen.

Grüessli Susanna

Ähnliche fragen