更新ObjectDataSource中的数据库更改

时间:2013-08-05 09:20:33

标签: c# asp.net webforms

我正在尝试将数据库字段添加到ASP.NET webforms站点中的ObjectDataSource。

但是当我尝试添加字段时,我收到以下错误:

ObjectDataSource 'ObjectDataSource1' could not find a non-generic method 'Update' that has parameters: Cat_ID, name, descr, makat, img_path, img_path2, img_tooltip, img_tooltip2, locked, sort, seo_desc, seo_title, seo_key, h1, footer_text, original_id.

我尝试使用sql metal之类的实用程序重新生成dbml文件,并自己编辑对象数据源无效。

这是我的ObjectDataSource代码:

<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" DeleteMethod="Delete" 
        InsertMethod="Insert" UpdateMethod="Update" OnSelected="ObjectDataSource1_Selected"
    OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" 
        TypeName="main_dsTableAdapters.CollecTableAdapter">
    <DeleteParameters>
        <asp:Parameter Name="Original_id" Type="Int32" />
    </DeleteParameters>
    <UpdateParameters>
        <asp:QueryStringParameter Name="Cat_ID" QueryStringField="Cat_ID" Type="Int32" />
        <asp:Parameter Name="name" Type="String" />
        <asp:Parameter Name="descr" Type="String" />
        <asp:Parameter Name="makat" Type="String" />
        <asp:Parameter Name="img_path" Type="String" />
        <asp:Parameter Name="img_path2" Type="String" />
        <asp:Parameter Name="img_tooltip" Type="String" />
        <asp:Parameter Name="img_tooltip2" Type="String" />
        <asp:Parameter Name="locked" Type="Boolean" />
        <asp:Parameter Name="sort" Type="Int32" />
        <asp:Parameter Name="seo_desc" Type="String" />
        <asp:Parameter Name="seo_title" Type="String" />
        <asp:Parameter Name="seo_key" Type="String" />
        <asp:Parameter Name="h1" Type="String" />
        <asp:Parameter Name="footer_text" Type="String" />
        <asp:Parameter Name="Original_id" Type="Int32" />
    </UpdateParameters>
    <SelectParameters>
        <asp:QueryStringParameter Name="Cat_ID" QueryStringField="Cat_ID" Type="Int32" />
    </SelectParameters>
    <InsertParameters>
        <asp:QueryStringParameter Name="Cat_ID" QueryStringField="Cat_ID" Type="Int32" />
        <asp:Parameter Name="Cat_ID" Type="Int32" />
        <asp:Parameter Name="name" Type="String" />
        <asp:Parameter Name="descr" Type="String" />
        <asp:Parameter Name="makat" Type="String" />
        <asp:Parameter Name="img_path" Type="String" />
        <asp:Parameter Name="img_path2" Type="String" />
        <asp:Parameter Name="img_tooltip" Type="String" />
        <asp:Parameter Name="img_tooltip2" Type="String" />
        <asp:Parameter Name="locked" Type="Boolean" />
        <asp:Parameter Name="sort" Type="Int32" DefaultValue="0" />
        <asp:Parameter Name="seo_desc" Type="String" />
        <asp:Parameter Name="seo_title" Type="String" />
        <asp:Parameter Name="seo_key" Type="String" />
        <asp:Parameter Name="h1" Type="String" />
        <asp:Parameter Name="footer_text" Type="String" />
    </InsertParameters>
</asp:ObjectDataSource>

我做错了什么?想要在ObjectDataSource中编辑/添加字段时是否应该采取某些步骤?

1 个答案:

答案 0 :(得分:0)

问题是更新DBML布局和关联数据集并没有替换现有数据源,而是创建了一个名称中包含1的重复数据源。

解决方案是在ObjectDataSource中加载新数据源并刷新架构。