2012-10-03 172 views
1
CREATE TRIGGER copy_pk_into_fk_trigger 
    AFTER insert ON tableA 
    FOR EACH ROW 
    BEGIN 
     insert into tableB (tblA_ID) values (new.tblA_ID); 
END$$ 

我使用上述触发从表A和插图主键值复制到tableB的为外键。但在那之后,每当我编辑在ASP.net使用DetailsView控件TableB中的记录,外键的值变为“NULL”。这导致父母和孩子之间没有更多的联系。 PLZ帮助我。复制主键值到另一个表作为外键?

[TABLEA有西:tblA_ID,tblA_val和
表B中含有tblB_ID,tblA_ID,tblB_str
等等等等]

回答

0

我不认为这有什么与你的扳机。由于触发器只会在插入被触发后才运行。你可以告诉我在detailsView中更新的查询吗?你确定你没有提到的更新语句呢?

+0

plz帮助。当我设置主要和Freign重点领域的“可见=假”更新不能正常工作。 – Awaidus

0

这里的SqlDataSource和DetailsView控件完整的源代码:

<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:HADIConnectionString %>" 
      DeleteCommand="DELETE FROM &quot;INDENT_FILE_NO&quot; WHERE &quot;FILE_NO_ID&quot; = :original_FILE_NO_ID AND ((&quot;INDENT_ID&quot; = :original_INDENT_ID) OR (&quot;INDENT_ID&quot; IS NULL AND :original_INDENT_ID IS NULL)) AND ((&quot;FILE_NO&quot; = :original_FILE_NO) OR (&quot;FILE_NO&quot; IS NULL AND :original_FILE_NO IS NULL)) AND ((&quot;FILE_DESCRIPTION&quot; = :original_FILE_DESCRIPTION) OR (&quot;FILE_DESCRIPTION&quot; IS NULL AND :original_FILE_DESCRIPTION IS NULL)) AND ((&quot;INDENTER&quot; = :original_INDENTER) OR (&quot;INDENTER&quot; IS NULL AND :original_INDENTER IS NULL))" InsertCommand="INSERT INTO &quot;INDENT_FILE_NO&quot; (&quot;FILE_NO_ID&quot;, &quot;INDENT_ID&quot;, &quot;FILE_NO&quot;, &quot;FILE_DESCRIPTION&quot;, &quot;INDENTER&quot;) VALUES (:FILE_NO_ID, :INDENT_ID, :FILE_NO, :FILE_DESCRIPTION, :INDENTER)" OldValuesParameterFormatString="original_{0}" ProviderName="<%$ ConnectionStrings:HADIConnectionString.ProviderName %>" 
      SelectCommand="SELECT * FROM &quot;INDENT_FILE_NO&quot; WHERE (&quot;INDENT_ID&quot; = :INDENT_ID)" 
      UpdateCommand="UPDATE &quot;INDENT_FILE_NO&quot; SET &quot;INDENT_ID&quot; = :INDENT_ID, &quot;FILE_NO&quot; = :FILE_NO, &quot;FILE_DESCRIPTION&quot; = :FILE_DESCRIPTION, &quot;INDENTER&quot; = :INDENTER WHERE &quot;FILE_NO_ID&quot; = :original_FILE_NO_ID AND ((&quot;INDENT_ID&quot; = :original_INDENT_ID) OR (&quot;INDENT_ID&quot; IS NULL AND :original_INDENT_ID IS NULL)) AND ((&quot;FILE_NO&quot; = :original_FILE_NO) OR (&quot;FILE_NO&quot; IS NULL AND :original_FILE_NO IS NULL)) AND ((&quot;FILE_DESCRIPTION&quot; = :original_FILE_DESCRIPTION) OR (&quot;FILE_DESCRIPTION&quot; IS NULL AND :original_FILE_DESCRIPTION IS NULL)) AND ((&quot;INDENTER&quot; = :original_INDENTER) OR (&quot;INDENTER&quot; IS NULL AND :original_INDENTER IS NULL))" ConflictDetection="CompareAllValues"> 

     <UpdateParameters> 
      <asp:Parameter Name="INDENT_ID" Type="Decimal" /> 
      <asp:Parameter Name="FILE_NO" Type="String" /> 
      <asp:Parameter Name="FILE_DESCRIPTION" Type="String" /> 
      <asp:Parameter Name="INDENTER" Type="String" /> 
      <asp:Parameter Name="original_FILE_NO_ID" Type="Decimal" /> 
      <asp:Parameter Name="original_INDENT_ID" Type="Decimal" /> 
      <asp:Parameter Name="original_FILE_NO" Type="String" /> 
      <asp:Parameter Name="original_FILE_DESCRIPTION" Type="String" /> 
      <asp:Parameter Name="original_INDENTER" Type="String" /> 
     </UpdateParameters> 

详情查看:

<asp:DetailsView ID="DetailsView2" runat="server" AutoGenerateRows="False" DataKeyNames="FILE_NO_ID" DataSourceID="SqlDataSource2" Height="50px" Width="287px" > 
         <Fields> 
          <asp:BoundField DataField="FILE_NO_ID" HeaderText="FILE_NO_ID" ReadOnly="True" SortExpression="FILE_NO_ID" Visible="False" /> 
          <asp:BoundField DataField="INDENT_ID" HeaderText="INDENT_ID" SortExpression="INDENT_ID" Visible="False" /> 
          <asp:BoundField DataField="FILE_NO" HeaderText="FILE_NO" SortExpression="FILE_NO" /> 
          <asp:BoundField DataField="FILE_DESCRIPTION" HeaderText="FILE_DESCRIPTION" SortExpression="FILE_DESCRIPTION" /> 
          <asp:BoundField DataField="INDENTER" HeaderText="INDENTER" SortExpression="INDENTER" /> 
          <asp:CommandField ShowEditButton="True" ButtonType="Button" /> 
         </Fields> 
        </asp:DetailsView> 

但是现在,当我按下编辑键和编辑字段,然后对其进行更新,数据的领域保持不变。意味着没有行动需要。

相关问题