读书人

关于主从表的有关问题(2)

发布时间: 2012-09-14 23:00:49 作者: rapoo

关于主从表的问题(2)
CODE:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{

string SQL = "select c.*,d.fName AS fContractType from tContractGoods a,tContract c,(select * from tContractType) d where a.fID=c.fID and c.fContractType = d.fType";
GridView1.DataSource = Binding(SQL);
GridView1.DataKeyNames = new string[] { "fID" };
GridView1.DataBind();
}
}

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{

string fID = Convert.ToString(FormView1.SelectedValue);
string SQL = "select a.*,c.* from tContractGoods a ,tContract c where a.fGoodsType=2 and a.fID='" + fID + "'";
DetailsView1.DataSource = Binding(SQL);
DetailsView1.DataBind();
}


/**/
/// <summary>
/// 执行SQL语句返回一个数据表
/// </summary>
/// <param name="SQL">所要执行的SQL语句</param>
/// <returns>DataTable</returns>
protected DataTable Binding(string SQL)
{

SqlConnection myConn = new SqlConnection(ConfigurationManager.ConnectionStrings["hagerconnectionstr"].ConnectionString);
DataTable dt = new DataTable();
SqlDataAdapter myAdapter = new SqlDataAdapter(SQL, myConn);
myAdapter.Fill(dt);
return dt;

}



主表可以显示数据,从表没数据啊  是不是我取不到fID啊 ?
还有string fID = Convert.ToString(FormView1.SelectedValue); 这句是什么意思啊?

[解决办法]
直接设置断点看看拼出来的SQL是什么,还可以去库里直接执行一下,看返回结果
如果SqlDataSource1绑定了FormView1,
则某个记录的ID在FormView1中取:
string id=FormView1.SelectedValue.ToString();
[解决办法]
string fID = Convert.ToString(FormView1.SelectedValue); 
这个是取出formview1的已选定的值

读书人网 >asp.net

热点推荐