我有一个一对多关系的父子表。我所做的是我创建了一个搜索方法,用户可以从父表中找到 ID,结果显示在 A label97 上。然后他们将插入一条子记录并使用标签中显示的结果将两个表链接起来。所以我没有使用@@identity 做外键。所以我的问题是我所做的方法是不好的做法吗?因为结果在数据库中看起来不错。这是我的代码。谢谢。
主文件
private void btnSearch2_Click(object sender, EventArgs e)
{
myCon.Open();
cmd = new OleDbCommand("SELECT * FROM EmployMainDetails WHERE EID = @EID", myCon);
cmd.Parameters.AddWithValue("EID", textBox2.Text);
try
{
dreader = cmd.ExecuteReader();
if (dreader.Read())
{
label97.Text = dreader["EID"].ToString();
}
else MessageBox.Show("No record found");
}
catch (Exception)
{
MessageBox.Show(" No Record");
}
finally
{
myCon.Close();
}
}
private void btnJNew_Click(object sender, EventArgs e)
{
EEmployDetails.JInsert(txtJobID.Text, label97.Text, cBEmpStatus.Text, ...);
}
EmployDetails.cs
这是我的插入方法
public static void JInsert(string ejobid, string eid, string employst,... )
{
var con = GetConnection();
OleDbCommand cmd = new OleDbCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = (@"INSERT INTO EmploymentDetails (EJobID, EID, EmploymentStatus,...)
VALUES(@EJobID, @EID, @EmploymentStatus, ...)");
cmd.Parameters.AddWithValue("@EJobID", ejobid);
cmd.Parameters.AddWithValue("@EID", eid);
cmd.Parameters.AddWithValue("@EmploymentStatus", employst);
....
...
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}