数据插入时间foreighnkey列显示为null [英] data inserting time foreighnkey column is showing as null

查看:111
本文介绍了数据插入时间foreighnkey列显示为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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆