Jag har problem med DetailsView1.Problem med insert och uppdate i DetailsView1
I configure datasource, har jag under avandcerat bockat för Generate uppdate insert and delite, samt
use optimistic concurrency.
Här får jag inga fel alls.
Jag har lagt till Edit Delite & New. Datamember DefaultView.
Om jag försöker att uppdatera ett fält, så händer ingenting, inte ens ett error.
Om jag försöker att lägga till en ny post, då smäller det, rejält:
<code>
Du försöker tilldela Null-värdet till en variabel som inte är av datatypen Variant.
Beskrivning: Ett undantag som inte kunde hanteras uppstod när den aktuella webbegäran kördes.
Mer information om felet och var i koden det uppstod finns i stackspårningen.
Undantagsinformation: System.Data.OleDb.OleDbException: Du försöker tilldela Null-värdet till en
variabel som inte är av datatypen Variant.
OleDbException (0x80004005): Du försöker tilldela Null-värdet till en variabel som inte är av datatypen Variant.]
System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr) +65
System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +181
System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +307
System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +77
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +188
System.Data.OleDb.OleDbCommand.ExecuteNonQuery() +112
System.Web.UI.WebControls.SqlDataSourceView.ExecuteDbCommand(DbCommand command, DataSourceOperation operation) +493
System.Web.UI.WebControls.SqlDataSourceView.ExecuteInsert(IDictionary values) +549
System.Web.UI.DataSourceView.Insert(IDictionary values, DataSourceViewOperationCallback callback) +173
System.Web.UI.WebControls.DetailsView.HandleInsert(String commandArg, Boolean causesValidation) +627
System.Web.UI.WebControls.DetailsView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +745
System.Web.UI.WebControls.DetailsView.OnBubbleEvent(Object source, EventArgs e) +162
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +56
System.Web.UI.WebControls.DetailsViewRow.OnBubbleEvent(Object source, EventArgs e) +117
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +56
System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +107
System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +175
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +31
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +32
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +244
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3840
</code>
Någon som har en uppfattning om hur man skall reda ut detta?
[REDIGERAT]
Jag upptäckte en del autogenererad koder.
<code>
<asp:AccessDataSource ID="AccessDataSource2" runat="server" DataFile="~/App_Data/Work.mdb"
SelectCommand="SELECT * FROM [t_Forening] WHERE ([PortID] = ?)"
ConflictDetection="CompareAllValues"
DeleteCommand="DELETE FROM [t_Forening] WHERE [PortID] = ? AND [Forening] = ? AND [Tillhor] = ?
AND [Adress] = ? AND [PostNr] = ? AND [Ort] = ? AND
[KontaktNamn] = ? AND [Epost] = ? AND [URL] = ?" InsertCommand="INSERT INTO [t_Forening]
([PortID], [Forening], [Tillhor], [Adress], [PostNr], [Ort], [KontaktNamn], [Epost], [URL]) VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)" OldValuesParameterFormatString="original_{0}"
UpdateCommand="UPDATE
[t_Forening] SET [Forening] = ?, [Tillhor] = ?, [Adress] = ?, [PostNr] = ?, [Ort] = ?, [KontaktNamn] = ?,
[Epost] = ?, [URL] = ? WHERE [PortID] = ? AND [Forening] = ? AND [Tillhor] = ? AND [Adress] = ? AND
[PostNr] = ? AND [Ort] = ? AND [KontaktNamn] = ? AND [Epost] = ? AND [URL] = ?">
</code>
Det här ligger i en sträng, men jag har sepparerat de lite, för att öka läsbarheten.
Det jag har upptäckt, är att felet troligen grundar sig på querystringen. Om jag tar bort den, så är det inga som helst problem med uppdateringarna, men jag tar info (id) ifrån en linkbutton, som ligger i
en Gridview, och där skapar jag querystringen.
Det kanske finns ett bättre sätt att överföra den datan på????
[REDIGERAT]
Jag får inga som helst svar, så jag stänger den här tråden.