C# 插入时如何将一个表中的字段转换为另一个表中的另一个字段
我有一个包含McCenter值的文本框,如何将McCenter值转换为mcID,然后作为mcID插入医生表C# 插入时如何将一个表中的字段转换为另一个表中的另一个字段,c#,winforms,C#,Winforms,我有一个包含McCenter值的文本框,如何将McCenter值转换为mcID,然后作为mcID插入医生表 我认为您必须创建下拉列表而不是文本框控件,以便在插入医生记录时选择值 如果将文本框用于mccenter输入字段,则用户可以在文本框中键入任何不匹配的值。从何处获取mccenter值?您可能不希望尝试根据类似于描述列的内容查找ID,因为它可能很容易更改文本框中的值将由上一个表单传递,因此该值将与McCenter中的一个值完全相同。只是我不知道如何将值从mcCentre转换为mcID,并
我认为您必须创建下拉列表而不是文本框控件,以便在插入医生记录时选择值
如果将文本框用于mccenter输入字段,则用户可以在文本框中键入任何不匹配的值。从何处获取mccenter值?您可能不希望尝试根据类似于描述列的内容查找ID,因为它可能很容易更改文本框中的值将由上一个表单传递,因此该值将与McCenter中的一个值完全相同。只是我不知道如何将值从mcCentre转换为mcID,并将其传递给doctor表,以作为mcID插入数据库@Giridhari不知道您在上一个表单中使用的控件类型。如果有值,则在某个隐藏字段中设置所选值。我使用的另一个选项“使用子查询”或“数据”看起来像主表,所以缓存数据并根据描述检索值。@Pony既然您是从上一个表单传递值,那么我假设您是从上一个表单在表中插入值,对吗?如果是这样,在为mcCenter将值放入textbox时,还可以将上次插入返回的mcID附加到同一textbox的自定义属性。当从当前表单中插入值时,您可以很好地读取它并将其放入医生表中
private int AddDoctorRecord()
{
int result = 0;
// TO DO: Codes to insert customer record
//retrieve connection information info from App.config
string strConnectionString = ConfigurationManager.ConnectionStrings["SACPConnection"].ConnectionString;
//STEP 1: Create connection
SqlConnection myConnect = new SqlConnection(strConnectionString);
//STEP 2: Create command
String strCommandText = "INSERT DOCTOR(dFirstName,dLastName,dUsername,dPassword,dEmail) "
+ " VALUES (@dFirstName,@dLastName,@dUsername,@dPassword,@dEmail)";
SqlCommand updateCmd = new SqlCommand(strCommandText, myConnect);
updateCmd.Parameters.AddWithValue("@dFirstName", txtDoctorFirstName.Text);
updateCmd.Parameters.AddWithValue("@dLastName", txtDoctorLastName.Text);
updateCmd.Parameters.AddWithValue("@dUsername", txtDoctorUsername.Text);
updateCmd.Parameters.AddWithValue("@dPassword", txtDoctorPassword.Text);
updateCmd.Parameters.AddWithValue("@dEmail", txtDoctorEmail.Text);
//updateCmd.Parameters["@clientid"].Direction = ParameterDirection.Output;
// STEP 3 open connection and retrieve data by calling ExecuteReader
myConnect.Open();
// STEP 4: execute command
// indicates number of record updated.
result = updateCmd.ExecuteNonQuery();
// STEP 5: Close
myConnect.Close();
return result;
}