我想请您帮忙解决我遇到的问题。
我的问题是,下拉列表将显示 2 项 SAMPLE(产品 2)而不是 Test 和 Sample,因为与 orderID 1 关联的产品是产品 2。
但是,如果我将 OrdersTable 中的 productID 从 2 更改为 1,一切都会正确显示。这是为什么?
订单表
OrderID ProductID
1 2
产品表
ProductID ProductName
1 Test
2 Sample
ASP.NET 代码
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetOrders();
GetProducts();
}
}
private void GetOrders()
{
con.Open();
SqlCommand com = new SqlCommand();
com.Connection = con;
com.CommandType = CommandType.Text;
string SQL =
"SELECT o.OrderID, o.ProductID, p.ProductName FROM Orders AS o, Products AS p WHERE o.ProductID = p.ProductID";
com.CommandText = SQL;
SqlDataReader data = com.ExecuteReader();
while (data.Read())
{
ddlProduct.SelectedItem.Text = data["ProductName"].ToString();
}
}
private void GetProducts()
{
con1.Open();
SqlCommand com = new SqlCommand();
com.Connection = con1;
com.CommandType = CommandType.Text;
com.CommandText =
"SELECT * FROM Products";
SqlDataReader data = com.ExecuteReader();
ddlProduct.DataSource = data;
ddlProduct.DataValueField = "ProductID";
ddlProduct.DataTextField = "ProductName";
ddlProduct.DataBind();
data.Close();
con1.Close();
}