我需要根据之前的下拉列表值获取值。但我很困惑,因为有3个表依赖。
dbo.Client
ClientID(PK) | ClientName
dbo.Client_POC_Bridge
ClientID(FK) | POCID (FK)
dbo.PointOfContact
POCID(PK) | FName | LName
我有2个下拉列表:
DropDownList1:我已经绑定了CLient的表信息
DropDownList2: I need FName and Lname from dbo.PointOfContact
到目前为止,这是代码,但它不起作用..
protected void DropDownList4_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList6.Items.Clear();
DropDownList6.Items.Add(new ListItem("--Select Point Of Contact--", ""));
DropDownList6.AppendDataBoundItems = true;
String var = System.Configuration.ConfigurationManager.ConnectionStrings["KKSTechConnectionString"].ConnectionString;
String strQuery = "select FirstName, POCID from PointOfCContact " +
"where ClientID=@ClientID";
SqlConnection con = new SqlConnection(var);
SqlCommand cmd = new SqlCommand();
cmd.Parameters.AddWithValue("@ClientID",
DropDownList3.SelectedItem.Value);
cmd.CommandType = CommandType.Text;
cmd.CommandText = strQuery;
cmd.Connection = con;
try
{
con.Open();
DropDownList6.DataSource = cmd.ExecuteReader();
DropDownList6.DataTextField = "FirstName";
DropDownList6.DataValueField = "POCID";
DropDownList6.DataBind();
if (DropDownList6.Items.Count > 1)
{
DropDownList6.Enabled = true;
}
else
{
DropDownList6.Enabled = false;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
con.Dispose();
}
}
答案 0 :(得分:0)
更改以下行...使用内部联接获取值...
String strQuery ="select pof.FirstName, pof.POCID from PointOfCContact pof Inner Join Client_POC_Bridge cpb On pof.POCID =cpb.POCID where cpb.ClientID=@ClientID";