在学习.net技术中我用到了一个软件Microsoft Visual Studio 2005.
下面我就来说说吧:
解决.net 试图将 Null 值赋予一个非 Variant 数据类型的变量 错误
解决.net中试图将 Null 值赋予一个非 Variant 数据类型的变量错误
今天,在写aspx程序时,遇到个蹊跷问题---"试图将 Null 值赋予一个非 Variant 数据类型的变量 "
搞了半天才知道在Visual studio 2005中,insert into 命令生成有问题,自动编号也会加入进去,所以要自己更改insert command去掉自动编号的字段。

Visual studio 2005
配置数据源自动生成如下:
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/biao.mdb"
                    DeleteCommand="DELETE FROM [News] WHERE [News_id] = ?" InsertCommand="INSERT INTO [News] ([News_id], [News_title], [News_content], [News_time], [News_auther], [News_picture]) VALUES (?, ?, ?, ?, ?, ?)"
                    SelectCommand="SELECT * FROM [News]" UpdateCommand="UPDATE [News] SET [News_title] = ?, [News_content] = ?, [News_time] = ?, [News_auther] = ?, [News_picture] = ? WHERE [News_id] = ?">
                    <DeleteParameters>
                        <asp:Parameter Name="News_id" Type="Int32" />
                    </DeleteParameters>
                    <UpdateParameters>
                        <asp:Parameter Name="News_title" Type="String" />
                        <asp:Parameter Name="News_content" Type="String" />
                        <asp:Parameter Name="News_time" Type="DateTime" />
                        <asp:Parameter Name="News_auther" Type="String" />
                        <asp:Parameter Name="News_picture" Type="String" />
                        <asp:Parameter Name="News_id" Type="Int32" />
                    </UpdateParameters>
                    <InsertParameters>
                        <asp:Parameter Name="News_id" Type="Int32" />
                        <asp:Parameter Name="News_title" Type="String" />
                        <asp:Parameter Name="News_content" Type="String" />
                        <asp:Parameter Name="News_time" Type="DateTime" />
                        <asp:Parameter Name="News_auther" Type="String" />
                        <asp:Parameter Name="News_picture" Type="String" />
                    </InsertParameters>
                </asp:AccessDataSource>
将红色字体删除,问题就解决,OK!