DropDownList
データベースからデータが取り込まれました。
でアイテムを選択するときにDropDownList
、プロシージャを呼び出して、DropDownList の値を呼び出し元のプロシージャに渡し、データベースにクエリを実行していくつかのテキスト ボックスにデータを入力します。
これを行う方法?
手順のコード:
protected void PopulateTextBoxes()
{
SqlDataReader MyReader;
SqlConnection Conn;
SqlParameter TourIdParam;
string strConnection = ConfigurationManager.ConnectionStrings["ChinatowndbConnString"].ConnectionString;
Conn = new SqlConnection(strConnection);
SqlCommand MyCommand = new SqlCommand();
MyCommand.CommandText = "SELECT TourId, TName, TDetails FROM Chinatowndb.dbo.Tour Where TourId = @TourIdp";
MyCommand.CommandType = CommandType.Text;
MyCommand.Connection = Conn;
TourIdParam = new SqlParameter();
TourIdParam.ParameterName = "@TourIdp";
TourIdParam.SqlDbType = SqlDbType.Int;
TourIdParam.Direction = ParameterDirection.Input;
TourIdParam.Value = ddlTour.SelectedItem.Value;
MyCommand.Parameters.Add(TourIdParam);
MyCommand.Connection.Open();
MyReader = MyCommand.ExecuteReader(CommandBehavior.CloseConnection);
while (MyReader.Read())
{
tbTourName.Text = (string)MyReader["TName"];
tbTourDetails.Text = (string)MyReader["TDetails"];
lblTourId.Text = Convert.ToString(MyReader["TourId"]);
}
}
入力するコードDropDownBox
:
private void PopulateTour()
{
DataTable dtTour = new DataTable();
string strConnection = ConfigurationManager.ConnectionStrings["ChinatowndbConnString"].ConnectionString;
using (SqlConnection con = new SqlConnection(strConnection))
{
try
{
SqlDataAdapter adapter = new SqlDataAdapter("SELECT TourId, TName FROM Chinatowndb.dbo.Tour", con);
adapter.Fill(dtTour);
ddlTour.DataSource = dtTour;
ddlTour.DataValueField = "TourId";
ddlTour.DataTextField = "TName";
ddlTour.DataBind();
}
catch (Exception ex)
{
// Handle the error
}
}
// Add the initial item
ddlTour.Items.Insert(0, new ListItem("<Select Tour>", "0"));
}