数据插入时间foreighnkey列显示为null [英] data inserting time foreighnkey column is showing as null
问题描述
我有两个表,这里附加表格详细信息,同时将数据插入数据库foreighnkey列显示为null。请帮帮我。
第一张桌子
隐藏复制代码
CREATE TABLE MASTER1(
ID int(主键),
EMPNAME varchar(50)
,EMPID varchar(50),
DEPARTMENT varchar(50 )
,TITLE varchar(50),
CATEGORY varchar(50),OTHERDETAILS varchar(50),)
第二张表>
隐藏复制代码
CREATE TABLE添加(
ID_EMP int(foreighnkey与EMPMASTER的ID连接),
EMP_NAME varchar( 50)
EMP_ID varchar(50),
EMP_DEPARTMENT varchar(50))
存储过程
隐藏复制代码
CREATE PROCEDURE [dbo]。[EmployeeIns]
@EMPNAME VARCHAR(50),@ EMPID VARCHAR(50),@ DEPARTMENT VARCHAR(50),
@TITLE VARCHAR(500),@ CATEGORY VARCHAR(500),@ OTHERDETAILS varchar(500)
AS
BEGIN
INSERT INTO MASTER1(EMPNAME,EMPID,DEPARTMENT,TITLE,CATEGORY,OTH ERDETAILS)VALUES(@ EMPNAME,@ EMPID,@ DEPARTMENT,@ TITLE,@ CATEGORY,@ OTHERDETAILS)
END
隐藏展开复制代码
public void fillgrid()
for(int i = 0;我< GridView1.Rows.Count; i ++)
SqlConnection SC = sqlconnection;
SC.Open();
string strEMPNAME = GridView1。 Rows [i] .Cells [0] .Text.ToString()。Trim();
string strEMPID = GridView1.Rows [i] .Cells [1] .Text.ToString()。Trim ();
string strDEPARTMENT = GridView1.Rows [i] .Cells [2] .Text.ToString()。Trim();
SqlCommand cmd = new SqlCommand( 插入另外(EMP_NAME,EMP_ID,EMP_DEPARTMENT)值('+ strEMPNAME +','+ strEMPID +','+ strDEPARTMENT +'),SC);
cmd.ExecuteNonQuery();
SC.Close();
protected void Button1_Click(object sender,EventArgs e)
SC.Open();
SqlCommand cmd = new SqlCommand(EmployeeIns,SC);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue(@ EMPN AME,txtname.Text);
cmd.Parameters.AddWithValue(@ EMPID,txteid.Text);
cmd.Parameters.AddWithValue(@ DEPARTMENT ,drpdept.SelectedValue);
cmd.Parameters.AddWithValue(@ TITLE,Txttitle.Text);
cmd.Parameters.AddWithValue(@ CATEGORY,drpcatgry .SelectedValue);
cmd.Parameters.AddWithValue(@ OTHERDETAILS,txtothers.Text);
cmd.ExecuteNonQuery();
fillgrid();
sc.close();
I have two tables, table details are attached here while inserting data into database foreighnkey column shows as null. Please help me.
First table
Hide Copy Code
CREATE TABLE MASTER1 (
ID int (primary key),
EMPNAME varchar(50)
,EMPID varchar(50) ,
DEPARTMENT varchar(50)
,TITLE varchar(50) ,
CATEGORY varchar(50) , OTHERDETAILS varchar(50),)
second table
Hide Copy Code
CREATE TABLE addition(
ID_EMP int (foreighnkey connect with ID of EMPMASTER),
EMP_NAME varchar(50)
EMP_ID varchar(50) ,
EMP_DEPARTMENT varchar(50) )
Stored procedure
Hide Copy Code
CREATE PROCEDURE [dbo].[EmployeeIns]
@EMPNAME VARCHAR(50),@EMPID VARCHAR(50),@DEPARTMENT VARCHAR(50),
@TITLE VARCHAR(500),@CATEGORY VARCHAR(500),@OTHERDETAILS varchar(500)
AS
BEGIN
INSERT INTO MASTER1(EMPNAME,EMPID,DEPARTMENT,TITLE ,CATEGORY,OTHERDETAILS)VALUES(@EMPNAME,@EMPID,@DEPARTMENT,@TITLE,@CATEGORY,@OTHERDETAILS)
END
Hide Expand Copy Code
public void fillgrid()
for (int i = 0; i < GridView1.Rows.Count; i++)
SqlConnection SC = sqlconnection;
SC.Open();
string strEMPNAME = GridView1.Rows[i].Cells[0].Text.ToString().Trim();
string strEMPID = GridView1.Rows[i].Cells[1].Text.ToString().Trim();
string strDEPARTMENT = GridView1.Rows[i].Cells[2].Text.ToString().Trim();
SqlCommand cmd = new SqlCommand("insert into addition (EMP_NAME,EMP_ID,EMP_DEPARTMENT) values('" + strEMPNAME + "','" + strEMPID + "','" + strDEPARTMENT + "' )", SC);
cmd.ExecuteNonQuery();
SC.Close();
protected void Button1_Click(object sender, EventArgs e)
SC.Open();
SqlCommand cmd = new SqlCommand("EmployeeIns", SC);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@EMPNAME", txtname.Text);
cmd.Parameters.AddWithValue("@EMPID", txteid.Text);
cmd.Parameters.AddWithValue("@DEPARTMENT", drpdept.SelectedValue);
cmd.Parameters.AddWithValue("@TITLE", Txttitle.Text);
cmd.Parameters.AddWithValue("@CATEGORY", drpcatgry.SelectedValue);
cmd.Parameters.AddWithValue("@OTHERDETAILS", txtothers.Text);
cmd.ExecuteNonQuery();
fillgrid();
sc.close();
推荐答案
你必须自己在外键列中插入数据,系统将不要这样做。
一般来说:
1)将数据插入主表并获取插入的行ID。
2)将数据插入细节,上面的ID作为外键。
You have to insert data in the foreign key column yourself, the system will not do this for you.
Generally you :
1) insert data into the master table and get the row ID for the insert.
2) insert data into the details withe the above ID as the foreign key.
这篇关于数据插入时间foreighnkey列显示为null的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!