Insert - Delete da Access Data Source

venerdì 27 gennaio 2012 - 18.23
Tag Elenco Tags  VB.NET

86Marco Profilo | Expert

Salve, per un mio progettino in asp.net in Visual Web Developer ho una piccola detailsview associata ad una Access Data Source.

Tramite la procedura guidata imposto all'accessdatasource il database e poi lo associo alla details view.

Quando pero provo a creare un nuovo record mi esce fuori la segente riga:

Impossibile assegnare il valore Null ad una variabile non di tipo Variant.
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di



Sapete aiutarmi???
Questo è il codice che mi esce impostando con il wizard la AccessDataSource:

<asp:DetailsView ID="DetailsView1" runat="server" AllowPaging="True" AutoGenerateRows="False"
DataKeyNames="ID" DataSourceID="AccessDataSource1" Height="50px" Width="125px">
<Fields>
<asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True"
SortExpression="ID" />
<asp:BoundField DataField="Oggetto" HeaderText="Oggetto" SortExpression="Oggetto" />
<asp:BoundField DataField="Note" HeaderText="Note" SortExpression="Note" />
<asp:BoundField DataField="DataInizio" HeaderText="DataInizio" SortExpression="DataInizio" />
<asp:BoundField DataField="DataFine" HeaderText="DataFine" SortExpression="DataFine" />
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" ShowInsertButton="True" />
</Fields>
</asp:DetailsView>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/Database1.mdb"
DeleteCommand="DELETE FROM [Tabella1] WHERE [ID] = ?"
InsertCommand="INSERT INTO [Tabella1] ([ID], [Oggetto], [Note], [DataInizio], [DataFine]) VALUES (?, ?, ?, ?, ?)"
SelectCommand="SELECT * FROM [Tabella1]" UpdateCommand="UPDATE [Tabella1] SET [Oggetto] = ?, [Note] = ?, [DataInizio] = ?, [DataFine] = ? WHERE [ID] = ?">
<DeleteParameters>
<asp:Parameter Name="ID" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="Oggetto" Type="String" />
<asp:Parameter Name="Note" Type="String" />
<asp:Parameter Name="DataInizio" Type="DateTime" />
<asp:Parameter Name="DataFine" Type="DateTime" />
<asp:Parameter Name="ID" Type="Int32" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="ID" Type="Int32" />
<asp:Parameter Name="Oggetto" Type="String" />
<asp:Parameter Name="Note" Type="String" />
<asp:Parameter Name="DataInizio" Type="DateTime" />
<asp:Parameter Name="DataFine" Type="DateTime" />
</InsertParameters>
</asp:AccessDataSource>

Grazie a tutti

alexmed Profilo | Guru

Ciao
Il problema dovrebbe essere qui:

InsertCommand="INSERT INTO [Tabella1] ([ID], [Oggetto], [Note], [DataInizio], [DataFine]) VALUES (?, ?, ?, ?, ?)"

Il campo ID è il "Contatore"?
Se si toglilo dalla insert togliendo il rispettivo "?"

InsertCommand="INSERT INTO [Tabella1] ([Oggetto], [Note], [DataInizio], [DataFine]) VALUES (?, ?, ?, ?)"

Dopo dichè fai lo stello negli InsertParameter

<InsertParameters>
<asp:Parameter Name="ID" Type="Int32" /> ----------------------------------------------- "VIA QUESTO"
<asp:Parameter Name="Oggetto" Type="String" />
<asp:Parameter Name="Note" Type="String" />
<asp:Parameter Name="DataInizio" Type="DateTime" />
<asp:Parameter Name="DataFine" Type="DateTime" />
</InsertParameters>

Ciao

alexmed

86Marco Profilo | Expert

Grazieeee!!

E' prorprio cosi!
l'iD non deve fare parte dei parametri di input.

Grazie ancora!

ho risolto! ti dispiacerebbe dare uno sguardo anche a qeusto post? :)
http://www.dotnethell.it/forum/messages.aspx?ThreadID=40248

T ringrazio veramente tanto per la disponibilità.
CIao
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5