您所在的位置: 程序员家园 -> 家园博客 ->
 
在哪里摔倒
就在哪里自己爬起来

用户登录

查  找

最新评论

最新留言

常用网站

网易邮箱 GMAIL  

百度搜索 MSDN

霏凡软件 BT精品

影视帝国 射 手 网

电驴下载 全 库 网

友情连接

茄菲的窝 冰冰博客

枫叶飘零 玫  瑰

ACEN 云 豹 子

统  计



未能找到带参数的非泛型方法
狼子 发表于 2006-8-5 16:00:00 阅读全文 | 回复(0) | 引用通告 | 编辑

“/NNLLbook”应用程序中的服务器错误。
--------------------------------------------------------------------------------

ObjectDataSource“ObjectDataSource1”未能找到带参数的非泛型方法“UpdateOnlyAnswer”: answer, atime, Original_bid, na, email, title, btime, bid。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: ObjectDataSource“ObjectDataSource1”未能找到带参数的非泛型方法“UpdateOnlyAnswer”: answer, atime, Original_bid, na, email, title, btime, bid。

出错页面m_deal.aspx,出错代码和设置:

1、在DataSet里新建TableAdapter,SQL语句:
SELECT bid, na, email, title, body, btime, answer, atime
FROM books
WHERE (bid = @bid)

在“创建方法将更新直接发送到数据(GenerateDBDirectMethods)”前打勾

2、在TableAdapter里新建Query,Name="UpdateOnlyAnswer",SQL语句:
UPDATE [books] SET [answer] = @answer, [atime] = @atime WHERE (([bid] = @Original_bid))

3、在aspx文件里绑定ObjectDataSource:

<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="bookdataTableAdapters.booksTableAdapter" UpdateMethod="UpdateOnlyAnswer">
        <UpdateParameters>
            <asp:Parameter Name="answer" Type="String" />
            <asp:Parameter Name="atime" Type="DateTime" />
            <asp:Parameter Name="bid" Type="Int32" />
        </UpdateParameters>
        <SelectParameters>
            <asp:QueryStringParameter Name="bid" QueryStringField="id" Type="Int32" />
        </SelectParameters>
    </asp:ObjectDataSource>

解决方法:字段不同,方法分开,

  1、在DataSet里,新建TableAdapter,Name="ShowOnlyBook",SQL语句:select bid,na,email,title,body,btime from books where bid=@bid

  2、在DataSet里,新建TableAdapter,Name="ShowOnlyAnswer",SQL语句:select bid,ishide,answer,atime from books where bid=@bid

  3、在aspx文件里绑定ObjectDataSource:
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" OldValuesParameterFormatString="original_{0}"
        SelectMethod="GetData" TypeName="bookdataTableAdapters.ShowOnlyBookTableAdapter">
        <SelectParameters>
            <asp:QueryStringParameter Name="bid" QueryStringField="id" Type="Int32" />
        </SelectParameters>
    </asp:ObjectDataSource>
    <asp:ObjectDataSource ID="ObjectDataSource2" runat="server" OldValuesParameterFormatString="original_{0}"
        SelectMethod="GetData" TypeName="bookdataTableAdapters.ShowOnlyAnswerTableAdapter"
        UpdateMethod="Update">
        <UpdateParameters>
            <asp:Parameter Name="ishide" Type="Int16" />
            <asp:Parameter Name="answer" Type="String" />
            <asp:Parameter Name="atime" Type="DateTime" />
            <asp:Parameter Name="Original_bid" Type="Int32" />
        </UpdateParameters>
        <SelectParameters>
            <asp:QueryStringParameter Name="bid" QueryStringField="id" Type="Int32" />
        </SelectParameters>
    </asp:ObjectDataSource>

发表评论:

    昵称:
    密码:
    主页:
    标题:
Powered by Oblog.