C#使用主详细信息id插入详细信息表

时间:2017-02-02 07:23:24

标签: c#

我对C#很陌生,我已经搜遍了所有但我找不到问题的答案。

在我的应用程序中,我有一个表格,例如employee details)第二个表格是leaves

我想要的是将employee details表主键链接到leaves表。

  

员工可以有很多叶子

因此,当我为leaves插入employee记录时,它应存储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);
            }

        }

2 个答案:

答案 0 :(得分:1)

你有没有尝试过使用select查询。因为从select查询中我们也可以这样做。

答案 1 :(得分:1)

您需要将emid参数添加到insert query.

string cb = "insert into leaves(emid,leavestartdate,leaveenddate,notes) VALUES (@emid,@d1,@d2,@d3)";

然后设置参数@emid

的值

然后您可以选择任意leaves的{​​{1}}

emid

编辑:要从string cb = "select * from leaves where emid = @emid"; 表中获取emnameemmobile,您可以使用此查询

employee details