C# 插入具有主详细信息 ID 的详细信息表
Posted
技术标签:
【中文标题】C# 插入具有主详细信息 ID 的详细信息表【英文标题】:C# insert into details table with master details id 【发布时间】:2017-02-02 07:23:24 【问题描述】:我是 C# 的新手,我已经搜索了所有内容,但没有找到问题的答案。
在我的应用程序中,我有一个表格,例如 (employee details
),第二个表格是 leaves
。
我想要的是将employee details
表的主键链接到leaves
表。
员工可以有很多叶子
因此,当我为employee
插入leaves
记录时,它应该使用employee details
表ID 存储,当我在leaves
表单中搜索emid
时,它会在datagridview 中显示他的所有leaves
。
员工详细信息表格
emid
empno
emname
emjoindate
emmobile
emaddress
离开表格
leaveid
emid
leavestartdate
leaveenddate
private void Save()
con = new SqlConnection(cs.DBConn);
con.Open();
string cb = "insert into leaves(leavestartdate,leaveenddate,notes) VALUES (@d1,@d2,@d3)";
cmd = new SqlCommand(cb);
cmd.Connection = con;
cmd.Parameters.Add(new SqlParameter("@d1", SqlDbType.Date, 31, "leavestartdate"));
cmd.Parameters.Add(new SqlParameter("@d2", SqlDbType.Date, 31, "leaveenddate"));
cmd.Parameters.Add(new SqlParameter("@d3", SqlDbType.NVarChar, 500, "notes"));
cmd.Parameters["@d1"].Value = txtstartdate.Text.Trim();
cmd.Parameters["@d2"].Value = txtenddate.Text.Trim();
cmd.Parameters["@d3"].Value = txtnotes.Text.Trim();
con.Close();
catch (Exception ex)
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
【问题讨论】:
How do I create a foreign key in SQL Server?的可能重复 它只是你需要的外键。 在插入新的休假记录时需要使用员工记录id。因此,在您的代码中,您需要为emid
字段再添加一个参数并将其设置为 emplayee.emid 值
您能否编辑我的代码以使其更易于理解
【参考方案1】:
insert query.
需要添加emid
参数
string cb = "insert into leaves(emid,leavestartdate,leaveenddate,notes) VALUES (@emid,@d1,@d2,@d3)";
然后设置参数@emid
的值
然后您可以像这样选择任何emid
中的leaves
string cb = "select * from leaves where emid = @emid";
编辑:要从employee details
表中获取emname
和emmobile
,您可以使用此查询
SELECT L.*, ED.emname , EM.emmobile
FROM leaves L INNER JOIN
employee_details ED ON L.emid = ED.emid
WHERE L.emid = @emid
【讨论】:
如何在搜索的 datagridview 中获取员工休假记录 如果我从叶子中搜索 emid 是否可以将员工姓名和手机号码从员工详细信息表中显示到文本框中? 在两张表中都插入emid后,您将拥有连接记录的密钥。我会编辑我的帖子,这样你就可以得到详细的数据【参考方案2】:您是否尝试过使用选择查询。因为从选择查询中我们也可以做到这一点。
【讨论】:
我无法理解如何使用两个表插入数据以上是关于C# 插入具有主详细信息 ID 的详细信息表的主要内容,如果未能解决你的问题,请参考以下文章
C# 使用 SqlDataReader 从 SQL Server 检索数据到主详细信息列表