Visual C#2008学习

来源:互联网 发布:java开发团队人员配置 编辑:程序博客网 时间:2024/05/18 00:58

我的计算机学习路线是:汇编-PLM-C-Delphi-C# Form-C# Asp.net。为备忘写此文章。

1、解决.net中“除非指定了UpdateCommand,否则数据源“AccessDateSources1”不支持更新操作”错误

错误信息显示

解决方法为在AccessDataSource1(或SqlDataSource1)中:重新 配置数据源-下一步-高级 中进行一下操作即可:

 

解决方法

2、解决.net中“试图将 Null 值赋予一个非 Variant 数据类型的变量”错误

原来是Visual studio 2008中,insert into 命令生成有问题,自动编号字段也会加入进去,所以要自己更改相应语句去掉自动编号的字段。

Visual studio 2008配置数据源自动生成如下:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register assembly="DevExpress.Web.ASPxGridView.v9.1, Version=9.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" namespace="DevExpress.Web.ASPxGridView" tagprefix="dxwgv" %>
<%@ Register assembly="DevExpress.Web.ASPxEditors.v9.1, Version=9.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" namespace="DevExpress.Web.ASPxEditors" tagprefix="dxe" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
   
    </div>
    <dxwgv:ASPxGridView ID="ASPxGridView1" runat="server"
        AutoGenerateColumns="False" DataSourceID="AccessDataSource1"
        KeyFieldName="usr_ID">
        <Columns>
            <dxwgv:GridViewDataTextColumn FieldName="usr_ID" ReadOnly="True"
                VisibleIndex="0">
                <EditFormSettings Visible="False" />
            </dxwgv:GridViewDataTextColumn>
            <dxwgv:GridViewDataTextColumn FieldName="usr_UID" VisibleIndex="1">
            </dxwgv:GridViewDataTextColumn>
            <dxwgv:GridViewDataTextColumn FieldName="usr_PWD" VisibleIndex="2">
            </dxwgv:GridViewDataTextColumn>
        </Columns>
        <Settings ShowFilterRow="True" ShowFooter="True" />
    </dxwgv:ASPxGridView>
    <asp:AccessDataSource ID="AccessDataSource1" runat="server"
        DataFile="~/App_Data/db.mdb"
        SelectCommand="SELECT [usr_ID], [usr_UID], [usr_PWD] FROM [User]"
        DeleteCommand="DELETE FROM [User] WHERE [usr_ID] = ?"
        InsertCommand="INSERT INTO [User] ([usr_ID], [usr_UID], [usr_PWD]) VALUES (?, ?, ?)"   
        OldValuesParameterFormatString="original_{0}"
       
        UpdateCommand="UPDATE [User] SET [usr_UID] = ?, [usr_PWD] = ? WHERE [usr_ID] = ?">
        <DeleteParameters>
            <asp:Parameter Name="original_usr_ID" Type="Int32" />
        </DeleteParameters>
        <UpdateParameters>
            <asp:Parameter Name="usr_UID" Type="String" />
            <asp:Parameter Name="usr_PWD" Type="String" />
            <asp:Parameter Name="original_usr_ID" Type="Int32" />
        </UpdateParameters>
        <InsertParameters>
            <asp:Parameter Name="usr_ID" Type="Int32" />
            <asp:Parameter Name="usr_UID" Type="String" />
            <asp:Parameter Name="usr_PWD" Type="String" />
        </InsertParameters>
    </asp:AccessDataSource>
    </form>
</body>
</html>
将红色字体部分语句删除,问题就解决,OK!

 

原创粉丝点击