Таблица не принимает внешний ключ
s_reg,s_don-это две таблицы в моей базе данных reg_id-это первичный ключ s_reg, а don_id-это s_don
я соединил две таблицы, используя reg_id обеих таблиц
но в таблице s_don столбец reg_id принимает только ноль и не показывает фактический reg_id s_reg
Что я уже пробовал:
protected void Button1_Click(object sender, EventArgs e) { using (studentDataContext dt = new studentDataContext()) { var log = (from s in db.s_dons join m in db.s_regs on s.reg_id equals m.reg_id select new { s,m }).FirstOrDefault(); try { s_reg reg = new s_reg(); s_don ureg = new s_don(); ureg.dtype = DropDownList2.SelectedItem.Text; ureg.dtitle = DropDownList1.SelectedItem.Text; ureg.dnmame = TextBox1.Text; ureg.ddate = TextBox2.Text; ureg.demail = TextBox5.Text; ureg.dmob = TextBox6.Text; ureg.dadd = TextBox7.Text; ureg.ddepart = ddlTest.SelectedItem.Text; ureg.damt = TextBox3.Text; ureg.dcom = TextBox4.Text; dt.s_dons.InsertOnSubmit(ureg); dt.SubmitChanges(); var frps = dt.s_dons.Where(w => w.dnmame == TextBox1.Text);//update column foreach (var ti in frps) { ureg.reg_id = reg.reg_id; dt.SubmitChanges(); } /*reg.smobile = TextBox6.Text; dt.s_regs.InsertOnSubmit(reg); dt.SubmitChanges(); Response.Write("<script>alert('Submited successfuly');</script>"); */ } catch (Exception ex) { Response.Write("Error:" + ex.Message); } } }
s_reg:
CREATE TABLE [dbo].[s_reg]( [reg_id] [int] IDENTITY(2000,1) NOT NULL, [pass_id] [int] NULL, [sname] [nvarchar](50) NULL, [smobile] [nvarchar](50) NULL, [semail] [nvarchar](50) NULL, [sdept] [nvarchar](50) NULL, [scateg] [nvarchar](50) NULL, [susnm] [nvarchar](50) NULL, [spass] [nvarchar](50) NULL, CONSTRAINT [PK_s_reg] PRIMARY KEY CLUSTERED ( [reg_id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
s_log:
CREATE TABLE [dbo].[s_log]( [log_id] [int] IDENTITY(1000,1) NOT NULL, [reg_id] [int] NULL, [susnm] [nvarchar](50) NULL, [spass] [nvarchar](50) NULL, CONSTRAINT [PK_s_log] PRIMARY KEY CLUSTERED ( [log_id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
Wendelius
Чтобы понять, почему таблица отклоняет значение внешнего ключа, следует разнести инструкции CREATE TABLE
Member 13809843
s_reg:
Создайте таблицу [dbo].[s_reg](
[reg_id] [int] IDENTITY(2000,1) NOT NULL,
[pass_id] [инт] нуль,
[sname] [nvarchar](50) NULL,
[smobile] [nvarchar](50) NULL,
[semail] [nvarchar](50) NULL,
[sdept] [nvarchar](50) NULL,
[scateg] [nvarchar](50) NULL,
[susnm] [nvarchar](50) NULL,
[Спасс] [нварчар](50) ноль,
Ограничение [PK_s_reg] первичный ключ КЛАСТЕРИЗОВАН
(
[reg_id] АСК
)С (КАК = ВЫКЛ, STATISTICS_NORECOMPUTE = OFF, ТО ЗНАЧЕНИЕ IGNORE_DUP_KEY = OFF, ТО ПАРАМЕТРЫ ALLOW_ROW_LOCKS = ON, ТО ALLOW_PAGE_LOCKS ИНСТРУКЦИИ =) НА [ОСНОВНОЙ]
) НА [ПЕРВИЧНОМ]
s_log:
Создайте таблицу [dbo].[s_log](
[log_id] [int] IDENTITY(1000,1) NOT NULL,
[reg_id] [int] NULL,
[susnm] [nvarchar](50) NULL,
[Спасс] [нварчар](50) ноль,
Ограничение [PK_s_log] первичный ключ КЛАСТЕРИЗОВАН
(
[log_id] АСК
)С (КАК = ВЫКЛ, STATISTICS_NORECOMPUTE = OFF, ТО ЗНАЧЕНИЕ IGNORE_DUP_KEY = OFF, ТО ПАРАМЕТРЫ ALLOW_ROW_LOCKS = ON, ТО ALLOW_PAGE_LOCKS ИНСТРУКЦИИ =) НА [ОСНОВНОЙ]
) НА [ПЕРВИЧНОМ]
Patrice T
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.