ADO Performance
home
DataReader
Reader DT+Load
Next Result
ExecuteScalar
Dataset X Scalar
Table Mapping
DATAREADER + DATATABLE (ADO 2)
Order
Order Details
Show code / exibir código
using System.Data.SqlClient;
using System.Web.Configuration;
string conStr = WebConfigurationManager.ConnectionStrings["ConnStringKey"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
gvData.Visible = false;
lstOrders.Visible = false;
dropOrders.Visible = false;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
gvData.Visible = false;
lstOrders.Visible = true;
dropOrders.Visible = true;
DataTable myTable;
using (SqlConnection conn = new SqlConnection(conStr))
{
try
{
string sql = "Select OrderID, CustomerID + ' - ' + CONVERT(varchar(12), OrderDate, 101) AS Data FROM Orders Order BY CustomerID";
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
myTable = new DataTable();
myTable.Load(reader);
lstOrders.DataSource = myTable;
lstOrders.DataTextField = "Data";
lstOrders.DataValueField = "OrderID";
dropOrders.DataSource = myTable;
dropOrders.DataTextField = "Data";
dropOrders.DataValueField = "OrderID";
lstOrders.DataBind();
dropOrders.DataBind();
reader.Close();
conn.Close();
}
}
catch (Exception ex)
{ Response.Write(ex.Message); }
}
}
protected void Button2_Click(object sender, EventArgs e)
{
gvData.Visible = false;
lstOrders.Visible = true;
dropOrders.Visible = true;
using (SqlConnection conn = new SqlConnection(conStr))
{
try
{
string sql = "Select OrderID, CONVERT(varchar(12), OrderDate, 101) + ' - ' + CustomerID AS Data FROM Orders Order BY CustomerID";
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
int index = 0;
lstOrders.Items.Clear();
dropOrders.Items.Clear();
while (reader.Read())
{
ListItem li = new ListItem(reader["Data"].ToString(), reader["OrderID"].ToString());
lstOrders.Items.Insert(index, li);
dropOrders.Items.Insert(index, li);
index++;
//lstOrders.Items.Add(reader["Data"].ToString());
//dropOrders.Items.Add(reader["Data"].ToString());
}
lstOrders.DataBind();
dropOrders.DataBind();
reader.Close();
conn.Close();
}
}
catch (Exception ex)
{ Response.Write(ex.Message); }
}
}
protected void FillOrderDetails(string order)
{
gvData.Visible = true;
using (SqlConnection conn = new SqlConnection(conStr))
{
try
{
string sql = "Select * from [Order Details] Where OrderID=@orderID";
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
conn.Open();
SqlParameter pOrder = new SqlParameter("@orderID", SqlDbType.Int);
pOrder.Value = order;
cmd.Parameters.Add(pOrder);
SqlDataReader reader = cmd.ExecuteReader();
gvData.DataSource = reader;
gvData.DataBind();
reader.Close();
conn.Close();
}
}
catch (Exception ex)
{ Response.Write(ex.Message); }
}
}
protected void lstOrders_SelectedIndexChanged(object sender, EventArgs e)
{
FillOrderDetails(lstOrders.SelectedItem.Value);
}
protected void dropOrders_SelectedIndexChanged(object sender, EventArgs e)
{
FillOrderDetails(dropOrders.SelectedItem.Value);
}