2016-06-20 25 views
0

UPDATEステートメントがFOREIGN KEY制約 "FK__STANDARDS__S_ID__38996AB5"と競合しました。競合はデータベース "SAMPLE_1"、テーブル "dbo.SCHOOL"、列 'S_ID'で発生しました。 ステートメントが終了しました。これは、PLS MEUPDATEステートメントがFOREIGN KEY制約と競合しました

SCHOOL.ASPX

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SCHOOL_1.aspx.cs" Inherits="WebApplication1.SCHOOL_1" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="Head1" runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 

     <asp:Label ID="Label1" runat="server" Text="SCHOOL NAME"></asp:Label> 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
     <br /> 
     <br /> 
     <br /> 
     <br /> 
     <asp:Label ID="Label2" runat="server" Text="NO_OF_STANDARDS"></asp:Label> 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
     <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> 
     <br /> 
     <br /> 
     <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="SUBMIT" /> 
     <br /> 
     <br /> 
     <br /> 
     <br /> 
     <br /> 
     <asp:GridView ID="GridView1" runat="server" Height="190px" 
      Width="266px" 
      DataSourceID="sql1"> 
     </asp:GridView> 
     <asp:SqlDataSource ID="sql1" runat="server" 
     ConnectionString="<%$ ConnectionStrings:ApplicationServices_1 %>" 
     SelectCommand="SELECT S_ID,S_NAME,NO_OF_STANDARD FROM [SCHOOL]"> 
     </asp:SqlDataSource> 
     <br /> 
     <asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="Back" /> 
     <br /> 
     <br /> 


    </div> 
    </form> 
</body> 
</html> 

SCHOOL.ASPX.CS

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data; 
using System.Data.SqlClient; 

namespace WebApplication1 
{ 
    public partial class SCHOOL_1 : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 

     } 

     protected void Button1_Click(object sender, EventArgs e) 
     { 
      SqlConnection con = new SqlConnection(@"Data Source=CSI60-PC\SQLEXPRESS;Initial Catalog=SAMPLE_1;Integrated Security=True"); 


      SqlCommand cmd = new SqlCommand("insert into school values('" + TextBox1.Text + "' ,'" + TextBox2.Text + "')", con); 

      SqlDataAdapter da = new SqlDataAdapter(); 
      da.SelectCommand = cmd; 
      DataSet ds = new DataSet(); 
      da.Fill(ds, "school"); 
     } 

     protected void Button2_Click(object sender, EventArgs e) 
     { 
      Response.Redirect("HOME_1.aspx"); 
     } 
    } 
} 

STANDARDS.ASPX

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="STANDARDS_1.aspx.cs" Inherits="WebApplication1.STANDARDS_1" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 


<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="Head1" runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 

     <asp:Label ID="Label1" runat="server" Text="CLASS"></asp:Label> 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
     <br /> 
     <br /> 
     <br /> 
     SCHOOL NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
     <asp:DropDownList ID="DropDownList1" runat="server" 
       DataSourceID="SqlDataSource1" DataTextField="S_NAME" DataValueField="S_ID"> 

     </asp:DropDownList> 

     <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
      ConnectionString="<%$ ConnectionStrings:ApplicationServices_1 %>" 
      SelectCommand="SELECT [S_ID], [S_NAME] FROM [SCHOOL]"> 

     </asp:SqlDataSource> 


     <br /> 
     <br /> 
     <asp:GridView ID="GridView1" runat="server" Height="214px" Width="255px" DataSourceID="sql2" 
     AutoGenerateColumns="false" AutoGenerateEditButton="true" 
     AllowSorting="True" AllowPaging="True" DataKeyNames="STD_ID" > 

     <Columns> 
     <asp:BoundField ReadOnly="True" HeaderText="std_id" 
     DataField="std_id" SortExpression="std_id"></asp:BoundField> 
     <asp:BoundField HeaderText="class" DataField="class" 
     SortExpression="class"></asp:BoundField> 
     <asp:TemplateField HeaderText="S_NAME" SortExpression="S_NAME"> 
     <EditItemTemplate> 
     <asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="Sql3" DataTextField="S_NAME" DataValueField="S_ID"> 
     </asp:DropDownList> 
     </EditItemTemplate> 
    <ItemTemplate> 
     <asp:Label ID="Label1" runat="server" Text='<%# Bind("S_NAME") %>'></asp:Label> 
    </ItemTemplate> 
     </asp:TemplateField> 
     </Columns> 
     </asp:GridView> 
     <asp:SqlDataSource ID="sql2" runat="server" 
     ConnectionString="<%$ ConnectionStrings:ApplicationServices_1 %>" 
     SelectCommand="select STANDARDS.STD_ID,STANDARDS.CLASS,SCHOOL.S_NAME 
          from STANDARDS 
          left join SCHOOL 
          on STANDARDS.S_ID=SCHOOL.S_ID" 

     UpdateCommand="update [STANDARDS] set [CLASS][email protected],[S_ID][email protected]_ID where [STD_ID][email protected]_ID">  
     <UpdateParameters> 
     <asp:Parameter Type="Int16" Name="CLASS" /> 
     <asp:Parameter Type="Int16" Name="STD_ID" /> 


     </UpdateParameters> 
     </asp:SqlDataSource> 
     <br /> 
     <br /> 
     <br /> 
     <br /> 

     <br /> 
     <br /> 
     <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="SUBMIT" /> 

    </div> 
    <asp:SqlDataSource ID="Sql3" runat="server" 
    ConnectionString="<%$ ConnectionStrings:ApplicationServices_1 %>" 
    SelectCommand="SELECT DISTINCT [S_NAME] FROM [SCHOOL]"> 
    </asp:SqlDataSource> 
    </form> 
</body> 
</html> 
を助けるMYエラーです

STANDARDS.ASPX.CS

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data; 
using System.Data.SqlClient; 

namespace WebApplication1 
{ 
    public partial class STANDARDS_1 : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 

     } 

     protected void Button1_Click(object sender, EventArgs e) 
     { 
      SqlConnection con = new SqlConnection(@"Data Source=CSI60-PC\SQLEXPRESS;Initial Catalog=SAMPLE_1;Integrated Security=True"); 


      SqlCommand cmd = new SqlCommand("insert into STANDARDS values('" + TextBox1.Text + "' ,'" + DropDownList1.SelectedValue + "')", con); 

      SqlDataAdapter da = new SqlDataAdapter(); 
      da.SelectCommand = cmd; 
      DataSet ds = new DataSet(); 
      da.Fill(ds, "STANDARDS"); 

     } 
    } 
} 

** SQLのテーブル構造** SCHOOL表

*CREATE TABLE SCHOOL(
[S_ID] [int] IDENTITY (1000,1) NOT NULL PRIMARY KEY , 
[S_NAME] [varchar](255) NULL, 
[NO_OF_STANDARD] [int] NULL, 
)* 

STANDARDS TABLE

*CREATE TABLE STANDARDS(
[STD_ID] [int] IDENTITY (100,1) NOT NULL PRIMARY KEY, 
[CLASS] [int] NULL, 
[S_ID] [int] NULL FOREIGN KEY REFERENCES SCHOOL(S_ID), 
)* 
+2

ようこそスタックオーバーフロー! [最小限で完全で検証可能なサンプルを作成する方法](http://stackoverflow.com/help/mcve)をお読みください。 –

+0

あなたの質問は何ですか?誤差は非常に明確である:新しいIAMは親切に私を助けてくださいので、唯一の助け を求めて、私のエラー を修正することができませんでしたIAMに動作するので、外部キーエラーが、無効な値 –

+0

@Ricardo Pontual屋エラーで更新しようとすると、 明らかです。 ... –

答えて

0

外部キーエラー手段あなたはしようとしているo参照先の表に存在しない値を挿入する。

あなたのコードのエラー実際にあります:

DataTextField="S_NAME" DataValueField="S_NAME"

はあなたが誤植を持つASPXファイルで

DataTextField="S_NAME" DataValueField="S_ID"

+0

あなたの修正後に返信してくれてありがとう、私は自分のプログラムを実行していましたが、このエラーを受け取って編集するiamをクリックすると** DataBinding: 'System.Data.DataRowView'に 'S_ID'という名前のプロパティが含まれていません。** –

+0

私はフロントエンドでS_NAMEを編集しようとしている間、シンプルな出力だけが必要です。プログラムの の変更やプログラムの間違いがあれば、IDテーブル –

+0

のバックエンドにIDのidを保存してください。 iam new since 私はそれを学ぶことができます ありがとう –

0

でなければなりません。あなたのコードで

は、あなたのupdateコマンドで

[STD_ID][email protected]_ID 

では

[S_ID][email protected]_ID 

を交換してください。

+0

返信ありがとう このエラーが発生しました ** DataBinding: 'System.Data.DataRowView'には 'S_ID'という名前のプロパティが含まれていません。 ** –

+0

「DISTINCT [S_NAME]から[SCHOOL]を選択する」を「DISTNCT [S_NAME]、[S_ID] FROM [SCHOOL]」に変更してください –

+0

あなたの前回の修正と最新の修正の両方を教えてくださいました エラーが動作するようにIAM新しいが、私はそれを を学ぶことができますありがとう –

関連する問題