我从Web服务获取一个审核项列表,该列表指示应该从我的数据库输出什么。
webservice将返回包含以下列
的数据集[local_item_id] | [remote_item_transaction_id] | [remote_item_type]
本地REVIEWS数据库表看起来像这样
[id] | [title] | [review_description] | [created_date] | [rating]
我需要将上面的数据放到存储过程中并使用像[id] = [local_item_id]这样的表连接表,这样我就得到一个像下面这样的表输出到ASP.NET转发器......
[id] | [remote_item_transaction_id] | [remote_item_type] | [title] | [review_description] | [created_date] | [rating]
我认为最直接的方法是以某种方式将数据集传递给存储过程,然后将其解析为临时表,然后我可以将其加入到我的REVIEWS表中。
然后,每个转发器项目将输出如下链接,其中交易ID将报告回报告服务器。
<asp:Repeater ID="reviewItemsRepeater" runat="server">
<ItemTemplate>
<div><asp:HyperLink ID="MyHyperLink" runat="server" NavigateUrl='<%#"~/showreview.aspx?reviewid="+Eval("id").ToString()+"&trans_id="+Eval("remote_item_transaction_id").ToString()+"&trans_type="+Eval("remote_item_type").ToString()%>' Text='<%#Eval("title")%>'>
*注意:每个远程项的transactionID对于每个webservice调用都是唯一的,因此[remote_item_transaction_id]&amp; [remote_item_type]无法在本地存储在评论表中。*
对此的任何指示都会非常有帮助。 感谢
答案 0 :(得分:2)
如果您使用的是SQL Server 2008或更高版本,请尝试使用表值参数:
http://www.codeproject.com/KB/cs/CSharpAndTableValueParams.aspx
答案 1 :(得分:0)
您可以批量插入临时表,然后对其进行常规连接。如果您需要针对它执行多个查询,那么这可能会表现最佳。
如果REVIEWS中的项目数量不是太大,您可以将其查询到数据集中并使用其中的关系来过滤数据。