我有三张桌子
Categorycrt productid(主键), 产品分类, Girthfrom, GirthTo
Itemcre Itemid(主键)。 ITEMNAME,
Pricefix PriceId(PrimaryKey的) Itemid(Itemcre的外键), Productid(Categorycrt的外键), 率
如何更新Pricefix表?
我有pricefix表的gridview。
我的aspx页面
<lang="html">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
onrowcancelingedit="GridView1_RowCancelingEdit"
onrowdeleting="GridView1_RowDeleting"
onrowediting="GridView1_RowEditing" onrowupdating="GridView1_RowUpdating">
<columns>
<asp:TemplateField HeaderText="PriceId">
<itemtemplate>
<asp:Label ID="lblPriceId" runat="server" Text='<%#Eval("PriceId") %>'>'>
</itemtemplate>
<asp:TemplateField HeaderText="ItemName">
<itemtemplate>
<asp:Label ID="lblItemId" runat="server" Text='<%#Eval("Itemname") %>'>'>
</itemtemplate>
<edititemtemplate>
<asp:TextBox ID="txtItemId" runat="server" Text='<%#Eval("Itemname") %>'>'>
</edititemtemplate>
<asp:TemplateField HeaderText="ProductCategory">
<itemtemplate>
<asp:Label ID="lblPdtId" runat="server" Text='<%#Eval("ProductCategory") %>'>'>
</itemtemplate>
<edititemtemplate>
<asp:TextBox ID="txtPdtId" runat="server" Text='<%#Eval("ProductCategory") %>'>'>
</edititemtemplate>
<asp:TemplateField HeaderText="Rate">
<itemtemplate>
<asp:Label ID="lblRate" runat="server" Text='<%#Eval("Rate") %>'>'>
</itemtemplate>
<edititemtemplate>
<asp:TextBox ID="txtRate" runat="server" Text='<%#Eval("Rate") %>'>'>
</edititemtemplate>
<asp:TemplateField HeaderText="Action">
<itemtemplate>
<asp:LinkButton ID="edit" runat="server" CommandName="Edit" Text="Edit">
<asp:LinkButton ID="Delete" runat="server" CommandName="Delete" Text="Delete">
</itemtemplate>
<edititemtemplate>
<asp:LinkButton ID="Update" runat="server" CommandName="Update" Text="Update">
<asp:LinkButton ID="Cancel" runat="server" CommandName="Cancel" Text="cancel">
</edititemtemplate>
</columns>
单击所选行的网格更新和取消链接按钮的编辑按钮时。我需要更新pricefix table的productcategory,itemname和rate.actually在pricefix表中存储为productcategory和itemname ....的foreignkey值,实际上在更新pricefix的gridview时,更新的productcategory和itemname应该在他们的父表,即Itemcre和Categorycrt,以及在Pricefix表中的速率。
答案 0 :(得分:1)
您应该使用存储过程来影响更改。您可以将数据源update命令更新为某个过程,并且可以很好地满足事务中出现的任何问题。
它将在以下几个方面:
CREATE PROCEDURE USP_UPDATEPRICE
(
@productcategory INT,
@itemname INT
@rate INT
)
AS
UPDATE
pricefix
SET
RATE = @rate
FROM
pricefix
INNER JOIN
PriceCAt
ON pricefix.id = pricecat.pricefix
WHERE
pricecat.itemname = @pricename
and
pricecat.cat = @cat
GO
对于你的作业,你真的需要阅读一些简单的更新 - 否则你的学习将一无所获。