在ASP.NET中获取错误

时间:2011-11-23 13:57:17

标签: asp.net ms-access

我收到此错误

  

您尝试将Null值分配给不是Variant数据类型的变量。

这是代码:

</asp:GridView>
    <asp:AccessDataSource ID="AccessDataSource1" runat="server" 
        DataFile="~/videogames.accdb" 
        DeleteCommand="DELETE FROM [Table1] WHERE [ID] = ?" 
        InsertCommand="INSERT INTO [Table1] ( ID,Name, ScreenName, Age, Game, YearsPlaying) VALUES (?, ?, ?, ?, ?, ?)" 
        SelectCommand="SELECT * FROM [Table1]" 
        UpdateCommand="UPDATE [Table1] SET [Name] = ?, [ScreenName] = ?, [Age] = ?, [Game] = ?, [YearsPlaying] = ? WHERE [ID] = ?">
        <DeleteParameters>
            <asp:Parameter Name="ID" Type="Int32" />
        </DeleteParameters>
        <InsertParameters>
            <asp:Parameter Name="ID" Type="Int32" />
            <asp:Parameter Name="Name" Type="String" />
            <asp:Parameter Name="ScreenName" Type="String" />
            <asp:Parameter Name="Age" Type="Int32" />
            <asp:Parameter Name="Game" Type="String" />
            <asp:Parameter Name="YearsPlaying" Type="String" />
        </InsertParameters>
        <UpdateParameters>
            <asp:Parameter Name="Name" Type="String" />
            <asp:Parameter Name="ScreenName" Type="String" />
            <asp:Parameter Name="Age" Type="Int32" />
            <asp:Parameter Name="Game" Type="String" />
            <asp:Parameter Name="YearsPlaying" Type="String" />
            <asp:Parameter Name="ID" Type="Int32" />
        </UpdateParameters>

我已经过了这个,我无法让它正常工作。有人可以帮帮我吗?谢谢。

当我尝试使用Id删除插入参数时,它会返回另一个错误。

2 个答案:

答案 0 :(得分:4)

删除ID InsertParameter

<asp:Parameter Name="ID" Type="Int32" />

更改您的InsertCommand

InsertCommand="INSERT INTO [Table1] (Name, ScreenName, Age, Game, YearsPlaying) VALUES (?, ?, ?, ?,?)" 

Solution to the “You tried to assign the Null value to a variable that is not a Variant data type.” Exception

答案 1 :(得分:3)

这可能是因为在插入中您拥有ID,而它可能是数据库中的自动数字。尝试从插入命令中删除它。祝你好运!