У меня есть две таблицы, которые являются назначением и медицинским центром, которые имеют отношения друг с другом с использованием mcID. Для моей формы назначения я заполняю раскрывающийся список, чтобы отобразить поле McCentre таблицы medicalcentre. И то, что я хочу сделать, состоит в том, чтобы, основываясь на том, что пользователь выбирает для McCentre в раскрывающемся списке, и отправьте форму, соответствующий номер mcID в таблице MedicalCentre будет вставлен в таблицу назначения. и т. д. Если я выберу семейную клинику Sliver Cross и отправлю форму, таблица встреч войдет в новую запись mcID 4. Поскольку на основе таблицы медицинского центра, клиника кросс-семейной клиники относится к mcID 4.На основании того, какое значение пользователь выбирает для раскрывающегося списка, вставьте этот идентификатор этого значения в таблицу
Для следующих кодов, которые Я отправил. После выбора mcCentre (Hwang & Liang Family Clinic) и нажав кнопку регистрации, я получил (преобразование не удалось при преобразовании значения nvarchar «Hwang & Liang Family Clinic» в тип данных int.) Помощь?
НАЗНАЧЕНИЕ ФОРМЫ
Назначение и MEDICALCENTRE ТАБЛИЦА
Ошибка следующего hutchonoid кода
Ошибка следующий hutchonoid код 2
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
using System.Web.Security;
using System.Web.UI.HtmlControls;
using System.Data;
public partial class appointment : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
string constr = ConfigurationManager.ConnectionStrings["sacpConnectionString"].ToString(); // connection string
SqlConnection con = new SqlConnection(constr);
con.Open();
//SqlCommand com = new SqlCommand("select * from MEDICALCENTRE", con); // table name
SqlCommand com = new SqlCommand("select mcCentre from MEDICALCENTRE", con); // table name
SqlDataAdapter da = new SqlDataAdapter(com);
DataSet ds = new DataSet();
da.Fill(ds); // fill dataset
//ddlMedicalCentre.DataTextField = ds.Tables[0].Columns["mcID"].ToString(); // text field name of table dispalyed in dropdown
//ddlMedicalCentre.DataValueField = ds.Tables[0].Columns["mcID"].ToString(); // to retrive specific textfield name
ddlMedicalCentre.DataTextField = ds.Tables[0].Columns["mcCentre"].ToString(); // text field name of table dispalyed in dropdown
ddlMedicalCentre.DataValueField = ds.Tables[0].Columns["mcCentre"].ToString(); // to retrive specific textfield name
ddlMedicalCentre.DataSource = ds.Tables[0]; //assigning datasource to the dropdownlist
ddlMedicalCentre.DataBind(); //binding dropdownlist
}
}
protected void btnCreate_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["sacpConnectionString"].ConnectionString))
{
try
{
int ID = Convert.ToInt32(Session["ID"].ToString());
SqlCommand cmd = new SqlCommand();
Guid guid;
guid = Guid.NewGuid();
String strStatus = "waiting";
string sql = "INSERT INTO appointment (aStatus,aDate, aTime, aContact, aHeight, aWeight, patientID, mcID)";
sql += "VALUES (@aStatus, @aDate, @aTime, @aContact, @aHeight, @aWeight, @patientID, @mcID)";
cmd.Parameters.AddWithValue("@aStatus", strStatus);
cmd.Parameters.AddWithValue("@aDate", txtDate.Value);
cmd.Parameters.AddWithValue("@aTime", txtTime.Value);
cmd.Parameters.AddWithValue("@aContact", txtContact.Value.Trim());
cmd.Parameters.AddWithValue("@aHeight", txtHeight.Value.Trim());
cmd.Parameters.AddWithValue("@aWeight", txtWeight.Value.Trim());
cmd.Parameters.AddWithValue("@patientID", ID);
cmd.Parameters.AddWithValue("@mcID", Convert.ToInt16(ddlMedicalCentre.SelectedValue.Trim()));
cmd.Connection = con;
cmd.CommandText = sql;
con.Open();
cmd.ExecuteNonQuery();
// Session.Add("Username", txtFirstName.Value);
// Session.Add("Password", txtContact.Value);
// FormsAuthentication.SetAuthCookie(txtFirstName.Value, true);
Response.Redirect("../index.aspx");
}
finally
{
con.Close();
}
}
}
}
}
Это выглядит хорошо для меня на первый взгляд. Есть ли ошибки? – hutchonoid
После выбора mcCentre (семейная клиника Hwang & Liang) и нажав кнопку регистрации, я получил (преобразование не удалось при преобразовании значения nvarchar «Семейная клиника Hwang & Liang» в тип данных int.) @hutchonoid – Pony